Programming patterns

The following programming patterns are discussed in this chapter:

  • Loading resources asynchronously — Use the Loadable API to load metadata asynchronously for maps, layers, and other resources to do such things as monitor the load status of the resource, handle concurrent and repeated requests to load the resource, cancel a load, retry to load if previous attempts failed, and handle circumstances such as network outages or service interruption.
  • Tasks and jobs — Tasks and jobs are used to perform work asynchronously for potentially long-running operations. Examples include Geocode and search, Route and directions, and Utility network analysis.

  • Performance considerations — Decisions you make when choosing things like rendering mode, scale range, and use of graphics versus features may have an effect on your app's performance.

  • Offline maps, scenes, and data explores a range of offline work patterns that you can implement to allow users to continue being productive when network connectivity is poor or nonexistent. Which offline pattern you choose determines whether or not your users can define their own map area, and, if they are editing, how multiple editors will sync their edits back to a web map or back to a branch version.


Find route

Offline routing

Offline geocode

Map loaded

Feature layer rendering mode (map)

Feature layer rendering mode (scene)

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