The following programming patterns are discussed in this chapter:
- Loading resources asynchronously — Use the
LoadableAPI 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.
For a description of offline patterns, see Offline maps, scenes, and data in the Offline maps, scenes, and data chapter. 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.