Skip To Content ArcGIS for Developers Sign In Dashboard

Native vs. web

ArcGIS software development patterns are similar at a high level across ArcGIS Runtime SDKs and ArcGIS Web APIs. When choosing an approach for creating apps with ArcGIS capabilities, it's helpful to have an understanding of the general differences among native, web, and hybrid apps, as well as the differences in ArcGIS capabilities among native, web, and hybrid apps.

  • Native—The native strategy offers the best device integration and the most out-of-the-box functionality for offline workflows, but it requires native development skills. You can use the ArcGIS Runtime SDK for Qt to create native apps.
  • Hybrid—Hybrid strategies use a mix of native components and web app content (HTML, JavaScript and CSS) to build native applications and there are many different ways that this can be achieved. The easiest approach is to embed a web control into a native app and load web content. More advanced approaches include using frameworks (for example, PhoneGap or Appcelerator Titanium) that allow for richer integration with the native platform. You can use Esri’s JavaScript API and the ArcGIS Runtime SDK for Qt in hybrid strategies. The Wikipedia topic on hybrids explain hybrid strategies. These topics provide additional context, that is, Inside Facebook’s mobile strategy by Kurt Wagner, Mashable, and Mobile: Native Apps, Web Apps, and Hybrid Apps, by Raluca Budiu of Nielsen Norman Group.
  • Web—A web strategy is one in which HTML, JavaScript, and CSS are hosted on a web server and delivered to the user's device or desktop using its web browser. This strategy is best if you don't know the devices your users have and you need to reach a wide audience. You can use Esri’s JavaScript API in a web strategy.

The content from this topic was excerpted from Development strategies for targeting Android, iOS, and Windows Phone.

Key comparison points

The most important goal is to deliver the best experience and functionality for the audience of your app. Below are questions to ask yourself to help you achieve this.

  • How widespread of a mobile audience must you reach?
  • Do you know the regions of the world you want to target? Do you know what devices they have?
  • Who is the target audience (internal or consumer public) and what functionality (mapping, advanced analysis, and so on) is required to support the application?
  • Are your users sometimes disconnected and need the app to run offline?
  • What skills do your current development team possess?
  • What data and web services are required to support the application?
  • Who is the steward of the data behind the web services? Do you have access to the data if necessary (for example, ability to create offline data sources)?
  • Are there requirements for device integration, such as use of the device's GPS, compass, media, calendar, contacts, text messaging (SMS), notifications, and so on?

The tables below provides a detailed look at these and additional comparison points.

General differences compared

ConsiderationNative strategyHybrid strategyWeb strategyNotes

Understanding your users and which devices they prefer

Target the device’s browser (a single hosted web app used by all)

Device popularity varies geographically (North America, Europe, Asia)

What skills do your developers have?

Requires HTML, JavaScript, and CSS, and knowledge about compiling the hybrid framework

Requires HTML, JavaScript, and CSS

Do you want to distribute the app through a store (App Store and/or Google Play)?

Distribution through a store is supported

Distribution through a store is supported

Distribution through a store is not supported

Access to device utilities

Access to all device utilities (GPS, compass, calendar, media, contacts, camera, and so on)

Limited based on the development approach, and frameworks used

Limited to HTML5 mobile features

Some hybrid strategies (frameworks) provide wrapper calls to underlying native API technology

Maintenance on multiple devices and desktops

When you update your app, it is immediately available to all devices

ArcGIS capabilities compared

ConsiderationNative strategyHybrid strategyWeb strategyNotes

Will users need to use the app and data offline?

Offline app use is built into the native platforms. Offline GIS is possible and includes offline map viewing, editing with sync, geocoding, routing, and analysis.***

Offline app use is possible through the hybrid framework’s local storage mechanism. Offline GIS is possible but involved** for the developer.

Some local storage is possible with HTML5. Offline GIS is also possible but involved** for the developer.

Hybrid offline workflows using PhoneGap or Titanium are not straightforward and basic as compared to building native apps.

Routing and geocoding

Online and offline are supported.*** Requires ArcGIS for Desktop to author offline data sources.

Online only*

Online only*

GeoEnrichment (demographic and landscape variables)

Online only**

Online only*

Online only*

Analysis (geometry operations)

Supported online** and offline***

Online only*

Online only*

Operations such as clip, buffer, and intersect. Editing workflows such as simplify, densify, union, merge, split, and so on.

Model-based analysis (geoprocessing)

Supported online*** and offline. Offline is available on Windows and Linux.***

Online only*

Online only*

Build models in ArcGIS for Desktop, and provide clients analysis through geoprocessing services.

Geometric network tracing

Supported online*** and offline. Offline is available on Windows and Linux***

Online only*

Online only*

Supported through model-based analysis (geoprocessing service), for example, valve isolation trace.

Advanced cartography and symbology

Supported online and offline***

Online only*

Online only*

Includes support for rotation, offset, geodesic symbols, and military symbology, such as 2525C.

Display and animate large numbers of features

Once you have the features, animate their graphics, and maintain smooth and fast map navigation.***

Not recommended

Not recommended

A native app can support millions of features. For web and hybrid, the number of features you can have before performance degrades depend on several factors, such as the browser, but generally 10,000 – 100,000 is the maximum.

Local file based data (shapefiles and imagery) offline

Offline and local access to shapefiles and imagery available through local server (Windows and Linux only)

Not available

Not available

Planned in a future release.

* Uses ArcGIS API for JavaScript out-of-the-box API components.

** Uses ArcGIS REST API, and the developer sends requests and processes responses.

*** Uses ArcGIS Runtime SDKs out-of-the-box API components.