For many years, ArcGIS Maps SDK for Qt and ArcGIS Runtime SDK for Qt have provided two different APIs to target different backgrounds and skillsets: a QML API and a C++ API. Today with the 200.2 release of ArcGIS Maps SDK for Qt, we are announcing the deprecation of the QML API, as we focus our efforts on building the best GIS SDK available in the Qt ecosystem with our C++ API.
C++ API
The C++ API has been around since the product’s inception and is the most versatile and powerful way to build a Qt application. It allows for fully cross platform apps to be built using QML for the UI (User Interface) and C++ for the business logic, or less commonly, desktop apps to be built purely with C++ using Qt Widgets.
Separating the UI and business logic follows best practice recommendations from Qt Group, and gives you access to all the powerful APIs provided to Qt via C++ and the various underlying native platforms. We have had many Esri customers and system integrators find overwhelming success with this API over the years, and this API remains firmly entrenched in our product plan going forward.
QML API
The QML API was originally built with AppStudio for ArcGIS in mind, with the goal of making native app development easy for individuals with some web development and scripting experience. Making this experience come to life hinged heavily on AppStudio, which provided templates to get started, extensive tooling to aid in building, testing, and deploying apps, and additional APIs to make the best native experiences possible.
Due to a variety of changes in the app development space, AppStudio has announced retirement, and as such, we will also deprecate the QML API from the ArcGIS Maps SDK for Qt.
Support and Retirement Plan
ArcGIS Maps SDK for Qt version 200.2 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. 200.5 and all subsequent releases will only include the C++ API.
The QML API will continue to be supported for several years and will follow the product life cycle outlined by Esri Support:
Migration Options
If you are a Qt developer using the QML API, you should first consider using the C++ API. You can still write all your UI in QML, but your business logic will move from JavaScript to C++. We have a wealth of samples, tutorials, and code snippets throughout our developer guide to help you learn the patterns. Reach out on Esri Community forums with any questions you might have.
As mentioned in the AppStudio retirement, there are several other app development options to consider. In addition, Esri is always looking to innovate and stay on top of the latest industry trends, so keep an eye out on the developer blog for new options for building apps.
Connect with us
Please reach out to us on Esri Community if you have questions about the retirement or app migration options. The Qt team will be at the 2024 Esri Developer Summit in March and would be happy to assist you with your current projects and discuss the best solution for future apps.
Article Discussion: