Pages

Tuesday, December 11, 2012

ArcObjects or the ArcGIS Runtime SDKs for Java and WPF—which is right for you?


There has been lots of  excitement about building custom applications for the desktop with the new Runtime SDKs for Java and WPF, there are also important questions from our developers, like “Should I migrate from ArcGIS Engine?” and “If I migrate, what pieces of my code will I need to rewrite?”
New developers are also asking questions, like, “Since both ArcObjects/ArcGIS Engine and the new Runtime SDKs support development of custom desktop GIS applications, which is right for me?”

If you’re migrating

Esri will continue to have updates to ArcObjects. Version 10.1 was released earlier this year and 10.1 SP1 became available in October.
If your application is in Java, you’ll likely want to take advantage of the overwhelming benefits that ArcGIS Runtime SDK for Java has over ArcObjects for Java. To help you with this effort, here’s the first article in a series to help make the move to ArcGIS Runtime.
If your application is in .NET, the decision of whether or not to migrate should depend on the capabilities in your existing application that you want to keep. Not all the capabilities of ArcObjects is supported by the Runtime SDKs, so you’ll want to have a good understanding of what is and what isn’t supported before you migrate. If you’ve created any custom ArcObjects, such as custom renderers, custom data sources, or custom symbols, you cannot migrate those to a ArcGIS Runtime application.

If you’re starting fresh

Below is a list of capabilities that you can include in your custom desktop application if you are programming with ArcObjects. These capabilities are not available in ArcGIS Runtime SDK for Java and WPF at this time, so you must use ArcObjects to get them:
  • 3D visualization. Although you can perform 3D analysis in the Runtime SDKs, you cannot display 3D in your application at the current release.
  • Data management and complex features. If you want your application to create, manage, or maintain geodatabases (whether file or enterprise) you must use ArcObjects. Runtime SDKs support reading all aspects of the geodatabase and editing/updating simple features only. Editing of complex features (parcels with topologies, the parcel fabric, network datasets, and geometric networks) is not supported in the Runtime SDKs but is supported in ArcObjects.
  • Building a map that is a map authoring product or cartographic product requires ArcObjects. For example, if you have your application start with a blank screen, have the user browse for data, symbolize the data, set up the labeling, rendering, and scale dependency—this all requires ArcObjects.
  • Some extensions are not available in the Runtime SDKs. Schematics and Data Interoperability are available only with ArcGIS for Desktop and ArcGIS Engine.
Here are some resources to help you get started with ArcGIS Runtime SDK if you are new to ArcGIS or an existing ArcGIS Engine developer.