ArcGIS Maps SDKs

Welcome to ArcGIS Maps SDKs for Native Apps 200.0

The ArcGIS Maps SDKs team is excited to announce version 200.0 of the ArcGIS Maps SDKs for Native Apps (previously known as ArcGIS Runtime SDKs).

This release continues to deliver on the same core foundation that has powered the 100.x SDKs for the last six years. It marks a new chapter for the SDKs with updates to make the most of today’s developer tools and technologies, and to provide a foundation for the great new functionality we have planned.

New names, same SDKs

The 200.0 release coincides with a renaming of the ArcGIS Runtime SDKs to the ArcGIS Maps SDKs for Native Apps. This is part of a larger effort (described in this blog post) to better reflect the common purpose and capabilities of our client SDKs, as well as make them easier to discover.

If you’re currently working with the ArcGIS Runtime SDKs, then read on to learn more about the latest updates to the SDKs.

New developer technologies

In the six years and 16 releases since the introduction of the 100.x ArcGIS Runtime SDKs, developer technologies have evolved, updated, and grown more sophisticated and refined. Our SDK teams took a step back to consider how to take full advantage of new language features, frameworks, and paradigms, and give you the best possible foundation for building apps today and in the years to come.

The 200.0 releases of the ArcGIS Maps SDKs for Native Apps deliver the same functionality, ArcGIS integrations, and usage patterns as the 100.x SDKs, but honed to the latest developer tooling provided by Apple, Google, Microsoft, Qt, and Java. To accommodate the latest developer tooling we’re updating the .NET, Qt, and Java SDKs and are releasing two entirely new Swift and Kotlin SDKs.

Let’s take a look at the changes delivered with each SDK…

ArcGIS Maps SDK for .NET

ArcGIS Maps SDK for .NET 200.0 adds support for .NET MAUI, .NET 7, and full ARM64 support on Windows.  .NET MAUI is Microsoft’s new cross-platform technology taking the baton from Xamarin for building modern cross-platform applications for iOS, Android, Windows,  and macOS using Mac Catalyst.

ArcGIS Maps SDK for Qt

The ArcGIS Maps SDK for Qt supports Qt 6, the latest major version of the Qt framework and the future for Qt development. Qt 6 delivers new language features, as well as support for newer compilers, platforms, rendering APIs, and more.

We’ve also added macOS ARM support, enabling apps natively target M1, M2, or Intel macOS architectures via universal libraries.

ArcGIS Maps SDK for Java

ArcGIS Maps SDK for Java adds support for the Java Platform Module System (JPMS).

Improving support for JavaFX, we’ve added JavaFX properties to MapView and SceneView and all Loadable classes. We’ve also added support for the JavaFX Color class. Together these make it easier to write code that binds to properties, and create UI that automatically reflects property changes, while reducing code and encouraging modern Java coding patterns.

Two New SDKs, in Beta

We also added two new SDKs for Swift and Kotlin at 200.0. These replace the 100.x SDKs for iOS and Android respectively. Although they’re built on the same C++ Runtime Core that all 100.x and 200.x SDKs are built on, these two are built from the ground up to be first class Swift and Kotlin libraries.

ArcGIS Maps SDK for Swift

ArcGIS Maps SDK for Swift replaces the 100.x ArcGIS Runtime SDK for iOS as a Swift-first SDK with out-of-the-box support for features like Swift UI, Swift Concurrency, default values, enumerations with associated values, and native Swift collections.

Because this is an entirely new SDK with Swift and Swift UI paradigms replacing Objective-C and UIKit ones, some rewriting of your existing apps will be required when migrating from the ArcGIS Runtime SDK for iOS.

The ArcGIS Maps SDK for Swift 200.0 release is a beta release. We intend to deliver the first full production release of the ArcGIS Maps SDK for Swift at 200.1 in the April 2023 timeframe. Most of the planned 200.1 functionality is already available in the 200.0 beta, but we still have a few areas of the SDK to finish up.

ArcGIS Maps SDK for Kotlin

ArcGIS Maps SDK for Kotlin replaces the 100.x ArcGIS Runtime SDK for Android as a Kotlin-first SDK with out-of-the-box support for features like coroutines, flows, default parameters, higher-order functions, and null safety.

Because this is an entirely new SDK with Kotlin paradigms replacing Java ones, some rewriting of your existing apps will be required when migrating from the ArcGIS Runtime SDK for Android.

The ArcGIS Maps SDK for Kotlin 200.0 release is a beta release. We intend to deliver the first full production release of the ArcGIS Maps SDK for Kotlin at 200.1 in the April 2023 timeframe. Most of the planned 200.1 functionality is already available in the 200.0 beta, but we still have a few areas of the SDK to finish up.

New functionality

After the 100.15 long-term support release and its commitment to bug fixes and stability, the ArcGIS Maps SDK teams are back to delivering new functionality. Although the bulk of the new capabilities in the 200.0 release focus on updated support for developer tooling, here is some of the new functionality we’ve included:

Offline utility network tracing

ArcGIS Maps SDKs for Native Apps can now execute on-device utility network traces in a fully disconnected environment. Upstream, downstream, connected, and subnetwork traces are supported.

Offline tracing requires a mobile geodatabase with full utility network topology, which currently needs to be generated by ArcGIS Pro. Future releases of the Native SDKs will support offline tracing using on-demand offline maps, preplanned offline maps, and geodatabase replicas generated from utility network services.

Edge Rendering

Edge rendering is a useful part of 3D visualization when dealing with untextured 3D Object Scene layers. Web scenes and web clients have supported this for some time, and the ArcGIS Maps SDKs now honor rendering edges on Android, Windows, Linux, and macOS. iOS support is coming soon.

 

3D Object Scene Layer with (left) and without (right) edge rendering enabled.
3D Object Scene Layer with (left) and without (right) edge rendering enabled.

Other improvements:

The 200.0 release of the ArcGIS Maps SDKs for Native Apps lays the foundation for some ground-breaking new capabilities coming in 2023 and beyond. Stay tuned to learn more about them in the coming months. For more details on improvements in 200.0, or more information on migrating from 100.x to 200.x, head on over to the release notes for .NET, Qt, Java, Kotlin, and Swift.

Download and get started

To get your hands on version 200.0, go to the ArcGIS Developers web site, browse to the ArcGIS Maps SDK page of your choice and download the SDK. You can also reference the SDK through NuGet, Gradle for Java or Kotlin, or Swift Package Manager. If you’re new to developing with the ArcGIS Maps SDKs for Native Apps, each SDK (.NET, Qt, Java, Kotlin, and Swift) has rich guide documentation, API Reference, Tutorials, and samples. Simply sign up for a free ArcGIS Developer account and you’ll be able to access everything you need to develop your app.

One more thing…

With the first production release of version 200.0 of the .NET, Qt, and Java SDKs, and the first public beta release of the Kotlin and Swift SDKs hosted on the ArcGIS Developer site, we plan to close the ArcGIS Runtime SDK 200.0 Beta program by the end of the year. We’d like to thank those of you who participated in the program and provided valuable feedback in our effort to deliver 200.0.

About the authors

Rex Hansen

Rex Hansen is a Product Manager for the ArcGIS Runtime SDKs and ArcGIS Maps SDKs. 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:

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:

Mike Branscomb

Mike Branscomb is a Product Manager for the ArcGIS Maps SDKs for Native Apps and ArcGIS Maps SDKs for Game Engines. With over 20 years of experience working in the Esri ecosystem, he specializes in .NET, Local Server, and 3D Scene Layers. Mike is also a Scrum Product Owner with over 10 years of experience guiding teams through the product development lifecycle.

0 Comments
Inline Feedbacks
View all comments

Next Article

Climate Extremes: Heavy Rains

Read this article