ArcGIS for Desktop customizations using add-ins

This topic describes, at a high-level, how a developer can define their customizations for ArcGIS for Desktop software (that is, ArcMap, ArcCatalog, ArcGlobe, and ArcScene). If a developer needs to write a custom macro or domain specific functionality, this topic provides an overview of the pieces needed to define that functionality. It also leads a developer into the topics contained within this section of the Java Help system.

In this topic

About the ArcGIS add-in framework

ArcGIS for Desktop software provides you with a wide range of functionality to perform a multitude of geographic information system (GIS) based tasks. However, there are many reasons that you might want to add or simplify the existing technology. Some of those reasons might include the following:
ArcGIS add-in framework allows you to develop supplemental functionality for accomplishing custom tasks that can interact with various ArcGIS for Desktop applications. The topics contained within this section of the Java Help system focuses on the Java developer's experience with the tools needed to create the different customizations.

Advantages of the framework

The add-in framework provides Java developers with the ability to define and create many different customizations that can help support the end user's experiences with ArcGIS for Desktop software. The following are some additional reasons why the add-in framework is advantageous for Java developers:

Types of add-ins

You can create the following types of add-ins for ArcGIS for Desktop software using Java:

Creating your customizations

An add-in is a special type of archive file with a .esriaddin file extension. This file is composed of the following:
ESRI has provided templates for the Eclipse integrated development environment (IDE) that help you develop your customizations. As a starting point on how to create an add-in project for any desktop product, see How to create an add-in project in Eclipse. For more information on how to develop a specific type of add-in for a given project, the following topics guide you through workflows that are available for Java developers:

Using your customizations

The following topics illustrate methods for deploying and using an add-in within ArcGIS for Desktop applications:
A key piece in the software development life-cycle is the ability for projects to go from one version to the next. When defining add-ins, you have the capability of versioning your customization to match this piece in the development life-cycle. For more information that examines a workflow you can use to version your add-in work, see How to version your add-in.
When developing customizations, you might need to represent the graphical user interface (GUI) of your add-ins with a specific geographical, political, or cultural region language. For more information on the add-in framework that supports this workflow, see How to localize your add-in.

Development licensingDeployment licensing
ArcGIS for Desktop BasicArcGIS for Desktop Basic
ArcGIS for Desktop StandardArcGIS for Desktop Standard
ArcGIS for Desktop AdvancedArcGIS for Desktop Advanced