ArcGIS Engine, launched more than 20 years ago for building and deploying custom GIS desktop applications, is scheduled for retirement on March 1, 2026. In this post, the first in a series dedicated to the migration of ArcGIS Engine apps to a new generation of ArcGIS developer products, we will delve into deprecation specifics, the impending retirement of ArcGIS Engine, strategies for planning your migration, and an introduction to one of the key migration routes leveraging ArcGIS Maps SDKs for Native Apps.
Deprecation
ArcGIS Engine 10.8.2 is the current and last release and will continue to be supported until March 1, 2026. The deprecation includes both the ArcGIS Engine Developer Kit used by developers to build custom apps and the ArcGIS Engine Runtime that enabled your custom apps to run on end-user machines. If you used .NET or Java to build apps with ArcGIS Engine, then you will also have installed either the ArcObjects SDK for Microsoft .NET Framework or ArcObjects SDK for Java. These SDKs, when used with ArcGIS Engine, follow the same Product Life Cycle and will also be retired on March 1, 2026. Note a later version of the ArcObjects SDK was released specifically for developing with ArcGIS Enterprise server 10.9.1, and this will retire in December 2027, a year after ArcGIS Engine.
After March 1, 2026, your custom applications will continue to work, and your end-users are unlikely to be immediately affected. Most ArcGIS Engine end-users have perpetual licenses and will be able to continue using ArcGIS Engine based functionality. But software updates and patches have already stopped with the end of the extended support phase in February 2024. Over time, your users may experience issues such as security vulnerabilities or compatibility issues in their IT environment. In addition, they will not be able to take advantage of the latest ArcGIS workflows and capabilities.
Planning your migration
We encourage developers to migrate to the new generation of ArcGIS developer products. Migration involves moving from the traditional environments of ArcGIS Desktop, Engine, and Server to the modern ecosystem of ArcGIS Online, Location Platform, Enterprise, and Pro. While your migration will require development effort, it is an opportunity to leverage the latest features and capabilities in GIS technology.
Your migration strategy requires careful planning. It may be easier for now to keep the same old architecture and try to modernize it with individual component updates. But over the last decade, the software and IT landscape has changed significantly, and continues to change at an ever-increasing pace. Hardware, software, devices, security, and user expectations have all changed. Your strategy should start with the current and future user, business, and system requirements, including: What type of environment are your users in? How do they want to access your application? What devices will they have? What overall experience do you want your users to have?
To help you meet and exceed your requirements, ArcGIS provides a wide range of SDKs, APIs, tools, and frameworks for building custom applications, extending ArcGIS software, and automating workflows. ArcGIS also offers configurable and ready-to-use applications, encompassing web, mobile, and desktop platforms and suitable for both office and field use, which should all be considered when evaluating your migration options.
The answers you discover in your requirements analysis will help you determine which options you should be evaluating.
Choosing your SDK
For most ArcGIS Engine developers who plan to continue with native app technology, the natural migration path will be the ArcGIS Maps SDKs for Native Apps, also known as the Native Maps SDKs. These SDKs were intentionally designed and architected from the ground up to address the challenges and limitations of ArcGIS Engine when building applications for modern devices, enabling developers to:
- Experience a developer-friendly design that focuses on developer productivity and complete workflows.
- Choose from the most popular development frameworks with Native Maps SDKs for .NET, Kotlin, Flutter, Qt, and Swift.
- Access modern ArcGIS features including a range of high-performance layer types, such as vector tile basemaps.
- Deliver consistent capabilities and performance regardless of connectivity, with an API that supports working seamlessly in both online and offline environments.
- Deploy to the most popular operating systems and devices with support for 64-bit computing architectures (ARM64, Apple Silicon, and x64) and Android, iOS, Linux, macOS, and Windows.
- Simplify maintenance and management and reduce the risk of compatibility issues, with smaller footprint, lighter-weight application deployments that are self-contained and can be run side-by-side on the same device.
Within the Native Maps SDKs, the closest alternatives to ArcGIS Engine are the ArcGIS Maps SDK for .NET, which includes support for building desktop applications on Windows, and the ArcGIS Maps SDK for Qt, which supports building desktop applications for Linux and Windows. In addition to desktop operating systems, both these SDKs also support Android, iOS, and macOS, offering the potential to target mobile and additional desktop platforms. Depending on your needs, you may also want to explore the ArcGIS Maps SDK for Kotlin, tailored for Android development, or the ArcGIS Maps SDK for Swift, designed for iOS. Additionally, the new ArcGIS Maps SDK for Flutter provides cross-platform support for both Android and iOS, though it does not yet include all the features of the Native Maps SDKs. For more details, visit Flutter Maps SDK parity.
Migrating your app
Migrating from ArcGIS Engine to a Native Maps SDK will involve some redesign and reimplementation of application logic. Many of the concepts remain the same, such as 2D maps and 3D scenes, layer types, geodatabases, geocoding and network analysis. However, workflows for creation, maintenance, and publishing your GIS content have evolved. You can still use the Native SDKs to build maps and scenes from scratch, directly from your data, but you can also utilize ArcGIS Pro or the web-based MapViewer and SceneViewer for publishing content, and ArcGIS Enterprise or ArcGIS Online for hosting. Alternatively, depending on your mapping and location services requirements, the consumption-based business model of ArcGIS Location Platform may be more appropriate. In the next post in this series, we will explore detailed migration options for each area of your ArcGIS Engine based applications enabling you to plan and execute your migration of data access, map analysis, map presentation, and developer components.
Migrating to a newer technology is also an opportunity to rearchitect parts of your application and simultaneously resolve accumulated technical debt. Common aspects to address are updates to underlying platform APIs such as moving from .NET Framework to the new .NET runtime, or adoption of a design pattern such as MVVM for greater separation of business and presentation logic from user interface (UI) logic. These types of changes enable you to write more robust code with greater performance, as well as making your applications easier to test, maintain, and evolve. Some developers have even chosen to create an abstraction layer between their application logic and the ArcGIS Engine API, which can facilitate incremental replacement of functionality with that of the Native Maps SDKs and support a period of dual running during user acceptance testing or compliance testing.
Additional notes
When considering migrating from ArcGIS Engine to one of the Native Maps SDKs, there are two related deprecations that you should be aware of:
Deprecation of ArcGIS Maps SDK for Java
ArcGIS Maps SDK for Java was deprecated on March 6, 2024, and the last version (200.6) was released on November 25, 2024. Since the launch of ArcGIS Runtime SDK for Java over 10 years ago, renamed ArcGIS Maps SDK for Java in December 2022, there has been a gradual decline in the popularity and use of the Java FX framework used by the ArcGIS Maps SDK for Java for developing desktop client applications. Alternative SDKs for building desktop and cross-platform are ArcGIS Maps SDK for .NET, ArcGIS Maps SDK for Qt, and ArcGIS Maps SDK for Flutter, as well as platform-specific SDKs with ArcGIS Maps SDK for Kotlin and ArcGIS Maps SDK for Swift. For more information see the Esri Support article Deprecation: ArcGIS Maps SDK for Java.
Deprecation of ArcGIS Maps SDK for Local Server
ArcGIS Maps SDK for Local Server (Local Server) is deprecated and will be retired in 2030. The last release of Local Server will be ArcGIS Maps SDK for Local Server 200.8, in Q3 2025. Local Server is deprecated because most of it’s capabilities are now available directly in the Native Maps SDKs. Utilizing functionality available directly in Native Maps SDKs brings multiple benefits, including access to a broader range of development frameworks and deployment platforms. For more information see the Esri Support article Deprecation: ArcGIS Maps SDK for Local Server.
Summary
In this first post in a series dedicated to the migration of ArcGIS Engine apps to a new generation of ArcGIS developer products, we reviewed the deprecation and retirement status of ArcGIS Engine, shared some strategies for planning your migration, and introduced one of the key migration paths, utilizing the Native Maps SDKs. Stay tuned for more insights on migrating from ArcGIS Engine!
Article Discussion: