Differences of Premium and Navigate Edition

The following table provides an overview of the key differences between both editions:

Premium Navigate Comment
Architecture Monolithic Component Based The Navigate Edition is built with component granularity idea from scratch, which starts from backend design and continues till SDK API, which goes to end user
Thread safety Built-in Not guaranteed The initial setup using Premium Edition is easier, but leads to reduced possibilities, when user needs to achieve tuned performance for specific feature or get size reduced application
Components setup Implicit for user. Most services start with MapView initialisation More explicit, uses Engine concept for components The Premium Edition handles compoments initial configuration itself, which makes easy to start, but hard to tune. While Navigation has opposite results.
Debug logging Using external components Built-in protocol The Navigate Edition has an extended logging system, that can be used by application developer to capture SDK logging information even in release build
Features SDK v3.17 SDK v4.12.10.0 Despite the fact that Navigate Edition doesn't have all Premium Edition features at the moment - it is growing as enhanced alternative, redesigned with experience gained from Premium bottlenecks. The Navigate Edition will replace Premium in future.
Swift Generated from Objective-C Uses best practise Both versions have Swift API
SDK API Has NMA prefix in type naming, but also has default types Has more descriptive types, better grained API and components E.g. The NMAMapView API in Navigation Edition consist of MapView that aggregates the Camera, Scene and Gestures classes
MapView rendering Has data preloading before rendering. Initialization behaves smoothly for zoom levels from 20 till 8. During the first load on zoom levels < 8 it has visible processing delays, which doesn't occur after load Has data preloading before rendering. Uses different map vector data, which has smooth initialization for all zoom levels Both editions load map data and cache it. The Premium processing bottleneck is fixed in Navigate Edition as it has optimised data for initial rendering
Search Single module(online + offline). Different request types (e.g. Discovery, Autosuggestion, Place) with common base, but different parameters) Separate modules: SearchEngine and OfflineSearchEngine. Overloaded search API, type-based parameters Navigation Edition has more obvious class naming and structured request data(e.g. SearchOptions, TextQuery, CategoryQuery, AddressQuery)
Routing Single module(online + offline) for route calculation. Isoline calculation is performed by NMAIsolineRouter module(online + offline). Can use traffic data in route calculations Separate modules: RoutingEngine and OfflineRoutingEngine. Both modules implement base RoutingProtocol. The calculateRoute method is overloaded with different options stuctures(e.g. CarOptions, TrackOptions, PedestrianOptions, etc.). Includes routing for Electic Vehicles ( EVCarOptions) considering the charging station on route. Isolines are calculated by RoutingEngine. Has new isoline calculation range type - consumptionInWattHours. The Navigation Edition has flexible components and more structured parameters, but not all transport types that are available in Premium are supported in Navigation Edition now.
Navigation NMANavigationManager has separate methods for navigation and tracking. Only one option can be used at the same time. Internally uses NMAPositioningManager for location updates. Navigator(or VisualNavigator) has option for navigation using route, when route is nil tracking is used. To start navigation user has to provide Navigator with route and pass LocationDelegate events. Navigator consumes location updates, which user provides from custom source or LocationEngine. Navigate Edition has more grained classes, protocols and API. Also it has RouteProgressDelegate that updates user's progress along a route The Premium Edition has all-in-one NMANavigationManager, which is good for start, while Navigation Edition has decoupled functionality which is better at adjustment and customization phase
Voice guidance Built-in in SDK. Multiple NMAVoicePackage's can be downloaded and installed. The voice playback is controlled by SDK's NMANavigationManager, but can be adjusted by user Should be implemented by application code. Instructions are generated as localized text(based on device configuration and SDK built-in languages support). User is responsible for voice playback The Navigate Edition provides the text guidance, which can be used by any TTS engine set by user
Location Simulation NMARoutePositionSource and NMALoggedPositionSource can be configured as dataSource of NMAPositioningManager and are consumed automatically during navigation simulation LocationSimulator is dedicated class used for position simulation from existing route or GPS data. The LocationSimulator generates the position update events as provider, while Navigator(or VisualNavigator) is the consumer that should be linked to these updates. Both SDKs support simulation from existing GPS data or route, but has different implementations
Positioning Uses built-in NMAPositioningManager component, which implicitly interacts with NMANavigationManager component. Uses different NMAGeoCoordinates properties for position (e.g. raw, matched, current). NMAPositioningManager performs map matching LocationEngine is dedicated component, which can be explicitly used as provider of location updates for Navigator. API is more grained and clear. Has possibility to use custom position provider The Premium Edition NMAPositioningManager is vital part of SDK and cannot be replaced. The Navigate Edition LocationEngine is built as dedicated component and can be replaced by other location provider. Currently not all features of Premium are available in Navigate Edition

results matching ""

    No results matching ""