DEPRECATION
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.
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.
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.
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.
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:
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
Get help from ArcGIS experts
Download the Esri Support App