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:
- Introduce an all-new ArcGIS Runtime SDK for Swift.
- Introduce an all-new ArcGIS Runtime SDK for Kotlin.
- Update the ArcGIS Runtime SDK for .NET to support .NET MAUI.
- Update the ArcGIS Runtime SDK for Qt to Qt 6.
- Update the ArcGIS Runtime SDK for Java to better integrate with JavaFX.
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.
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.
- ArcGIS Runtime SDK for .NET 200.0 (beta)
- ArcGIS Runtime SDK for Java 200.0 (beta)
- ArcGIS Runtime SDK for Qt 200.0 (beta)
- ArcGIS Runtime SDK for .NET 200.0 (production)
- ArcGIS Runtime SDK for Java 200.0 (production)
- ArcGIS Runtime SDK for Qt 200.0 (production)
- ArcGIS Runtime SDK for Swift 200.0 (beta)
- ArcGIS Runtime SDK for Kotlin 200.0 (beta)
- ArcGIS Runtime SDK for .NET 200.1 (production)
- ArcGIS Runtime SDK for Java 200.1 (production)
- ArcGIS Runtime SDK for Qt 200.1 (production)
- ArcGIS Runtime SDK for Swift 200.1 (production)
- ArcGIS Runtime SDK for Kotlin 200.1 (production)
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 ]