ArcGIS Runtime SDK for .NET provides APIs and tools for developing mapping apps for a variety of platforms, including Windows Presentation Framework (WPF), Universal Windows Platform (UWP), Android, and iOS. Used in this context, platform refers to the types of devices on which the app will be deployed. But platform can have other meanings as well.
The term ArcGIS Platform, for example, is often used simply to refer to the vast number of products and services that Esri provides, such as ArcGIS Pro, ArcGIS Online, and so on (most with the ArcGIS moniker attached). For a developer, however, it is more useful to think of the ArcGIS Platform as just that, a platform (or foundation) on which your app is built. In the context of how a developer can work with it, the ArcGIS platform consists of tools for:
- Creating and managing data
- Presenting data (authoring maps and scenes, for example)
- Managing users and permissions
- Developing apps
This varied set of tools can be generalized further according to their use in the following workflow steps: Data, Design, and Develop. The following image, from ArcGIS Geodev Hackerlabs shows common tools from the ArcGIS platform used for each of those steps. Visit the hacker labs repository on GitHub for short lab excersices that illustrate preparing data, styling maps and layers, and developing simple apps.
While it's certainly possible to create apps using the ArcGIS Runtime SDK without touching the rest of the ArcGIS Platform, taking advantage of the platform opens a variety of possibilities for your app development. Some of the most useful ArcGIS Platform tools (from a developer's perspective) are described below. With the exception of ArcGIS for Desktop (which provides a 60 day trial), these tools are all free for developer use!
ArcGIS for Developers (developers.arcgis.com)
The best place to start developing on the ArcGIS platform is ArcGIS for Developers. All you need to create your account is a name and an email. With your free developer account, you'll be able to do things like:
- Download any of the ArcGIS Runtime SDKs
- Access documentation (including API references)
- Create and host your own feature services
- Manage app security
- Track data and app usage
The site provides a dashboard for managing your applications and hosted data, and your subscription includes 50 credits per month to use for accessing premium services, hosting data, and so on. Note that although you can use your public ArcGIS Online account to log in to ArcGIS for Developers, you won't have access to the same set of (developer) tools without a developer account.
ArcGIS Online (arcgis.com)
Your ArcGIS for Developers account also gives you access to ArcGIS Online, a scalable and secure software-as-a-service hosted by Esri. Author maps with the built-in map viewer using your own data, a suite of provided basemaps, high-resolution imagery, demographic data, and a constantly growing collection from the Esri user community.
With ArcGIS Online, you'll be able to do things like:
- Import and store data
- Manage users
- Control access (permissions) to data
- Author maps and scenes
Authoring your maps with ArcGIS Online gives you a the ability to classify and symbolize your layers interactively, style and configure your map elements (such as popups), create bookmarks, and so on. This allows you to focus your development effort on writing your app logic, rather than dealing with details of the map display. These maps can be easily updated, with the updated version appearing in all apps that consume the map.
ArcGIS for Desktop (ArcMap and ArcGIS Pro)
ArcGIS for Desktop provides professional GIS tools for creating and editing geographic data and performing advanced analysis. Visit the ArcGIS for Desktop page for more information and to sign up for a free 60 day trial.
ArcGIS Runtime SDKs
The platform(s) on which the app should run
The development environment (language, for example) with which you'd prefer to develop
When developing an app to run on Windows desktop, for example, you can choose to develop with ArcGIS Runtime SDK for Java or ArcGIS Runtime SDK for .NET. If your app needs to run on several platforms, you might choose Java, .NET, or Qt. The choice you make is likely to be influenced by your personal preference or available programming skills. Fortunately, the type of functionality you need for your app is not a factor that you need to consider, as each of the ArcGIS Runtime SDKs are built from the same underlying core components and therefore contain the same functionality. For more information about choosing a platform for your app, see choosing the right platform.
The remainder of this post (broken into several sections) will walk you through the creation of a simple app to illustrate the use of common tools from the ArcGIS platform to create data, author a map, secure access to data, and to develop a custom .NET app. All of the tools used to complete these tasks are free for developer use.
Next: Sign up, log in, and geek out - preparing data and app security with ArcGIS for Developers and ArcGIS Online.