ArcGIS Runtime SDKs

ArcGIS Runtime in 2022 and beyond

ArcGIS Runtime 100.x was first released in November 2016. In the five plus years since, we have delivered 13 releases chock full of great new functionality, and we’re on the cusp of releasing 100.14 with yet more new capabilities.

This blog post will take a look at our plans for the ArcGIS Runtime SDKs beyond 100.14.

The journey so far

An underlying principle of ArcGIS Runtime has always been to deliver a powerful, foundational, world class family of SDKs that you can trust to include in your mapping applications. Delivering that world class experience means (amongst other things) maintaining consistent APIs, taking care not to introduce breaking changes, and sticking to a regular and predictable release cadence. It also means supporting a developer experience that feels natural to developers choosing to use the Runtime SDK in their apps. These qualities combine to give you confidence in including the ArcGIS Runtime SDKs in your projects.

But five years is a long time in the world of technology and in that time there have been many updates and changes, both to the platforms that Runtime targets, and to the developer tools that you use to build Runtime apps.

The journey ahead

With that in mind, the Runtime team took a step back to see how we could best support these updates. We need to embrace technology that will allow developers to build Runtime apps that are ready for the years ahead. To do this, the next two ArcGIS Runtime SDK releases after 100.14 will be different to the usual releases.

In August, the 100.15 release will be our first ever long-term support release. Unlike every Runtime release before it, this release will not include new functionality. Instead, it will focus entirely on bug fixes and updates to the various 3rd party libraries we use. It will be supported for 5 years instead of the regular 4 by adding an additional year of General Availability support, meaning there will be 2 years of General Availability support (environment certification, hotfixes/patches), 1 year of Extended support (hotfixes/patches), and 2 years of Mature support (support resources only, with no hotfixes or patches).

The next version of the ArcGIS Runtime SDKs after 100.15 will be version 200.0. It will build upon 100.15 to deliver the same functionality, integrations, and patterns you’re using today, but honed to the latest developer tooling provided by Apple, Google, Microsoft, Qt and Java.

With the 200.0 release we will:

In short, with 200.0 we are advancing the family of ArcGIS Runtime SDKs to focus on future development of Runtime applications, while with 100.15 we’re delivering a solid multi-year commitment to enable continued support of existing applications.

The details

All the 200.0 ArcGIS Runtime SDK releases will be built on the same tried and tested C++ Runtime core that has evolved behind the scenes since we released 100.0.

This means that version 200.0 will include all the same functionality, reliability, performance, and patterns that you’re used to working with, just updated to fit naturally into today’s developer tools and practices. With a handful of rare exceptions, classes, methods and properties will remain the same unless we’ve identified a better approach to deliver the same functionality. In other words, the 200.x SDKs are a continuation of the great work the Runtime team has delivered since day one.

In addition, there will be no change to licensing or capabilities. If you have 100.x license strings, they will work at 200.x. Lite, Basic, Standard and Advanced license levels as well as extension licenses will all remain unchanged.

We’ll also maintain the same release cadence and product lifecycle as we have now, so in addition to building on the reliability of what will by then be 6 years of Runtime SDKs, you’ll be able to continue to count on Runtime’s release schedule and 4 years of support for each release.

Now, let’s take a look at what these updates means for each SDK…

ArcGIS Runtime SDK for Swift

This will be a full reimagining of the ArcGIS Runtime SDK as a Swift-first SDK, with out of the box support for features like Swift Concurrency, SwiftUI, structs, protocols, enums with associated values, and native Swift collections. The ArcGIS Runtime SDK for Swift will replace the Objective-C based ArcGIS Runtime SDK for iOS and some rewriting of application code will be required.

ArcGIS Runtime SDK for Kotlin

This will be a full reimagining of the ArcGIS Runtime SDK as a Kotlin-first SDK, with out of the box support for features like coroutines, flows, and null safety. The ArcGIS Runtime SDK for Kotlin will replace the Java based ArcGIS Runtime SDK for Android and some rewriting of application code will be required.

ArcGIS Runtime SDK for .NET

Version 200.0 will build on top of 100.15 to add support for .NET MAUI (Multi-platform App UI), .NET6 for Android, and .NET6 for iOS, the next generation of .NET cross-platform development frameworks. 100.15 will be the last release of ArcGIS Runtime to support Xamarin.Forms, Xamarin.Android, and Xamarin.iOS.

ArcGIS Runtime SDK for Qt

The Qt company is moving developers over to Qt 6, and version 200.0 of the ArcGIS Runtime SDK for Qt will require developers adopt Qt 6. Moving to Qt 6 will enable us to take advantage of new graphics APIs, platform architectures, language features, and more. 100.15 will be the last version of the ArcGIS Runtime SDK for Qt to support Qt 5.

ArcGIS Runtime SDK for Java

Version 200.0 will improve the ArcGIS Runtime SDK for Java’s integration with JavaFX and will continue to support both Java 11 and Java 17.

For both the new SDKs (Swift and Kotlin), the naming now reflects the developer technology, in line with the other three SDKs. In the past there has sometimes been confusion since the .NET and Qt SDKs both support building iOS and Android apps.

Back to business as usual

While 100.15 will be a long-term support release focusing on bug fixes, at version 200.0 we’ll get back to releasing new functionality with each release. It’s too soon to let you know exactly what that’s going to be, but rest assured we have some exciting and powerful new capabilities lined up for you.

We first announced this plan publicly at the 2022 Esri Developer Summit in Palm Springs. Developers have been excited by the news, and we now have a beta program available.

200.0 beta program

To give you a taste of the upcoming changes and to help you get a head start on your move to the 200.x releases, we have launched a public beta program for the 200.0 ArcGIS Runtime SDKs. We have released betas for the 200.0 ArcGIS Runtime SDKs for .NET, Java and Qt, and will release betas for the Swift and Kotlin SDKs later in the year. The beta program will end once all five SDKs are available for production use at 200.1.

Here’s the roadmap for the ArcGIS Runtime 200.0 beta program.

September 2022:

December 2022:

Q2 2023:

To learn more about the beta program, see this blog post.

[ This blog post has been updated to cover the 200.0 ArcGIS Runtime SDK beta program ]

About the authors

Nick Furness

Nick Furness is a Product Manager for the ArcGIS Maps SDKs for Native Apps, and Game Engines, specializing in Swift and iOS. He's spent over 20 years working in the GIS space building projects ranging from small mom-and-pop solutions all the way up to enterprise utility and national government deployments. Nick presents at various Esri Developer Summits, the User Conference, and many other events, almost always talking about something to do with the Native Maps SDKs although you might find the odd bit of JavaScript thrown in there.

Connect:

Rex Hansen is a Product Manager for the ArcGIS Maps SDKs for Native Apps and ArcGIS Maps SDKs for Game Engines. He has over 25 years of experience in GIS, spatial analytics, and computer mapping. Currently, he guides the development of native technologies in the GIS industry to use authoritative geospatial content and analysis in offline workflows, photorealistic experiences, and immersive, extended reality solutions.

Connect:

Next Article

Empowering Communities with Open Data

Read this article