DEPRECATION

ArcGIS Maps SDK for Qt - QML API and ArcGIS Extras API Deprecation

Last Published: August 29, 2023

Description

Summary

Support for the QML API included with ArcGIS Maps SDK for Qt is deprecated. ArcGIS Maps SDK 200.4 for Qt will be the last release to include the QML API. Further development with ArcGIS Maps SDK for Qt will require use of the existing C++ API, which continues to support building rich user interfaces with Qt Quick QML and Qt Widgets.

Additionally, support for the ArcGIS Extras API included with ArcGIS Maps SDK for Qt is deprecated. ArcGIS Maps SDK 200.4 for Qt will be the last release to include the ArcGIS Extras API. This announcement follows the deprecation of the QML API. The ArcGIS Extras API helper library augmented the QML framework by exposing functionality in QML that was otherwise only available in C++. Apps should begin migrating to use Qt C++ APIs directly.

Background

Since the first release in 2016, ArcGIS Runtime SDK for Qt (100.0 – 100.15) and ArcGIS Maps SDK for Qt (200.0 – *) have included two distinctly different APIs (Application Programming Interfaces) to target different audiences and skillsets: a C++ API and a QML API. The QML API enabled developers to write both the UI and business logic in QML, but over time, best practices have focused on separating UI implementation from business logic. In line with this best practice recommendation, the QML API component of ArcGIS Maps SDK for Qt is being deprecated. Developers can still write UI code in QML, but as of version 200.5, they will need to implement business logic using the C++ API.

C++ API

The C++ API included with ArcGIS Maps SDK for Qt is the most versatile and powerful way to build a Qt application. It allows fully cross platform apps to be built using QML for the UI (User Interface) and C++ for business logic, or alternatively, desktop apps can be built purely with C++ using Qt Widgets. Separating the UI and business logic follows best practice recommendations from Qt Group, and provides access to all the powerful APIs provided to Qt via C++ and the various underlying native platforms.

QML API

The QML API included with ArcGIS Maps SDK for Qt was primarily built to support ArcGIS AppStudio, with the goal of making native app development easy for individuals with some web development and scripting experience. Realizing this goal relied largely on AppStudio, templates to get started, extensive tools to aid in building, testing, and deploying apps, and additional APIs to help build the best native apps experiences were provided. Following the announcement of the ArcGIS AppStudio Retirement Roadmap, the QML API included with ArcGIS Maps SDK for Qt is now deprecated.

Support and Retirement Plan

ArcGIS Maps SDK 200.2 for Qt  will be the last release to include new features in the QML API, and 200.4 will be the last release to include the QML API as part of the SDK. Version 200.5 and all subsequent releases will include only the C++ API.

The QML API will continue to be supported in line with the product life cycle. Refer to the following documents for more information:

Recommendation

Developers using the QML API component of ArcGIS Runtime SDK for Qt or ArcGIS Maps SDK for Qt should begin planning their migration to an alternative API, such as migrating apps to use the C++ API available with ArcGIS Maps SDK for Qt. This provides the ability to continue to build user interfaces with QML, but application business logic will be written in C++ instead. The ArcGIS Developers site provides samples, tutorials, and code snippets to help learn the patterns.

Article ID:000031189

Software:
  • ArcGIS AppStudio
  • ArcGIS Maps SDK for Qt

Get help from ArcGIS experts

Contact technical support

Download the Esri Support App

Go to download options

Related Information

Discover more on this topic