ArcGIS for developers

ArcGIS is available on a wide range of devices and on key browser technologies—among them iPhones and iPads, Android phones and tablets, Windows and Linux desktops, JavaScript, Flex, Silverlight, and more. ArcGIS includes built-in cloud integration using GIS services published with ArcGIS for Server, ArcGIS Online, and Portal for ArcGIS.

As a developer, you can configure one of the existing ArcGIS apps, create a custom app for your favorite device, or build a browser-based solution, all while leveraging powerful and robust GIS services.

Native and Online Apps

ArcGIS, whether used in a desktop, web, or mobile environment, accesses and applies GIS web services as well as local content. The ArcGIS APIs give you the ability to create your own experience for working with GIS data. ArcGIS Runtime delivers focused online/offline apps for devices, the Web APIs provide a visually rich and interactive experience for the connected user, and ArcGIS for Desktop gives you the complete set of GIS tools and workflows.

ArcGIS Runtime for building native applications

ArcGIS Runtime makes it easy to include advanced GIS capabilities through a few lines of code. Use it to write high-performance, easy-to-deploy native apps, leveraging maps and geographic information that are managed and shared using ArcGIS. It is available for the following environments:

Applications built using the ArcGIS Runtime SDKs share a common object model. They access and use online maps and GIS services from ArcGIS for Server, ArcGIS Online, or Portal for ArcGIS.

Offline editing capabilities are available in ArcGIS Runtime SDKs for Android, iOS, Java, Windows Mobile, and WPF. In addition, with Java and WPF you can create apps that edit local data and run offline geoprocessing models. This is done using Map Packages and Geoprocessing Packages that encapsulate the intended GIS capabilities into a single file.

Online Web applications

The ArcGIS Web APIs harness the power of GIS services and make it possible to build compelling web applications that tell a story, all while using an open, industry-standard REST-based architecture. These web app frameworks connect to and leverage map services and other related GIS services that are published using ArcGIS Server, ArcGIS Online, Portal for ArcGIS, and other consumer mapping services.

ArcGIS for Desktop

ArcGIS for Desktop provides a comprehensive set of GIS tools, processes, and workflows. You can customize and extend ArcGIS for Desktop by:

  • Configuring the user interface to change the display of its menus, tools, and buttons
  • Automating data processing and GIS workflows with scripts authored using Python and ArcPy, a native Python library for ArcGIS.
  • Writing custom buttons & tools, menus, dockable windows, and more using the easy to build and share model of Desktop add-ins authored in your choice of
  • Building custom extensions using the comprehensive ArcObjects library and your choice of

Online ArcGIS services

ArcGIS for Server, ArcGIS Online, and Portal for ArcGIS deliver GIS capabilities in a services-based architecture. GIS maps, features, imagery, geoprocessing models, locators, and datasets are deployed as web services, which can be accessed by essentially any web client or device. GIS services can be deployed and scaled using banks of computers, both on-site in your organization and in cloud servers on the web. ArcGIS Online is an example of a cloud system offering “GIS-as-a-service” capabilities.

Users create important GIS maps and information using ArcGIS for Desktop and publish these as web services using ArcGIS for Server and ArcGIS Online. In this way, ArcGIS provides broad access to information and the ability to scale your GIS to fit any configuration or situation.

ArcGIS provides an open web API for the sharing of map and GIS services that follow RESTful design patterns. These maximize opportunities for adoption and use. This enables developers and application builders of all kinds to combine and mash up ArcGIS services with any other web information coming from many different sources. It also gives consumers access to the tremendous wealth of geographic knowledge created in GIS environments.

These web services can also be exposed using SOAP and OGC protocols (such as WMS, WFS, and WCS).

Developer's view of ArcGIS

See the following for more information:

Other APIs

ArcGIS includes a number of additional APIs for working with geographic information. These include:

  • Python—An open source scripting model used by the scientific computing community and many open source developers. Python is used in ArcGIS as the scripting language for geoprocessing and analysis using ArcPy, a native Python library for ArcGIS. To learn more, read What is ArcPy?
  • SQL—Using ArcGIS, large, multiuser geodatabases are managed and stored in relational databases (DBMSs) of various kinds including Oracle, SQL Server, IBM DB2, PostgreSQL, and Netezza. A SQL API with specific geodatabase capabilities and support for spatial types is included as part of the ArcGIS database support for each DBMS.
  • ArcObjects and ArcGIS Engine—Developer APIs for .NET, Java, and cross-platform C++ that can be used to create stand-alone custom applications for ArcGIS Engine as well as extensions to ArcGIS for Desktop using the ArcObjects component library.