Introduction to partially offline apps

Partially offline app

What is a partially offline app?

A partially offline app is a type of offline app that is designed to work where network connectivity is unreliable. This is ideal for when users can access the internet but cannot guarantee constant connectivity.

There are two scenarios for using partially offline apps:

  • Online-first: You download maps and synchronize data in a connected environment before going offline. This strategy is well-suited for a field worker who wants to be prepared for periods of limited or no connectivity.
  • Offline-first: You use the app with data you already have locally and access online capabilities when connected to a network, such as using hosted layers.

When do you use partially offline apps?

You use partially offline apps when you have intermittent network access. You will mostly be disconnected, but there will be periods of connectivity during which you can download data for offline use and synchronize offline edits. You can still perform basic mapping tasks offline, as long as you have the map and data downloaded to your device. These tasks include searching for an address, making edits to offline data, performing routing, or using the device's GPU for viewshed, line-of-sight, and interactive distance measurement capabilities.

Mobile data sources for partially offline apps

The mobile data source you use depends on the capabilities you want for your partially offline app, such as editability and synchronization capabilities. You can build a partially offline app using any of these mobile data sources:

  • Offline maps: An offline map is a map downloaded from a web map. All the layers in the web map have to be offline-enabled before you can use the map offline.
  • Offline data: Offline data is data that is generated and downloaded from a data service. To support offline data, a service must be offline-enabled.
  • Mobile packages: A mobile package is an ArcGIS Pro project containing maps and/or scenes.
  • Data files: A data file is a stand-alone file containing geographic data that can be displayed by a layer in a map or scene.

The following table compares the capabilities of different mobile data sources you can use in your partially offline app:

Offline mapsOffline dataMobile packagesData files
2D maps11
3D scenes22
Edit data while offline3
Synchronize offline edits4
Fully disconnected apps/devices44
Offline geocoding5
Offline routing6
Offline analysis
Set expiration date for data access
Full supportPartial supportNo support
  • 1. Map constructed in code
  • 2. Scene constructed in code
  • 3. Shapefiles, GeoPackages, and KML
  • 4. Custom sideloading workflows required
  • 5. Locator exported from ArcGIS Pro
  • 6. Network Analysis dataset exported from ArcGIS Pro

Online services in partially offline apps

Partially offline apps can use online services while connected to a network. For example, you can:

  • Use an offline map, but geocode and find routes using ArcGIS Online.
  • Display a web map and add a layer from a local shapefile.
  • Configure an offline map (or the maps or scenes in a mobile package) to include online layers. The content for these layers is not included in the offline map or mobile package. Instead, an online layer will access a data service (such as a traffic layer) whenever a network connection is available.

Tutorials

Create an offline-enabled web map

Use Map Viewer and the ArcGIS portal to create an offline-enabled web map.


Create an offline map area

Use your portal to create an offline map area from an offline-enabled web map.


Create a mobile map package

Use ArcGIS Pro to create a mobile map package.


Workflows

API support

Offline mapsOffline data
ArcGIS Maps SDK for JavaScript
ArcGIS Maps SDK for .NET
ArcGIS Maps SDK for Kotlin
ArcGIS Maps SDK for Swift
ArcGIS Maps SDK for Flutter
ArcGIS Maps SDK for Java
ArcGIS Maps SDK for Qt
ArcGIS API for Python1
ArcGIS REST JS1
Esri Leaflet
MapLibre GL JS
OpenLayers
Full supportPartial supportNo support
  • 1. Manage offline map areas

Tools

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.