Nearly eight years have passed since our first release of ArcGIS Runtime SDK for Qt. Over that time, we’ve made some significant changes to the product, including expanding app development patterns from Qt Widgets to QML, adding new platforms such as iOS and Android, and migrating ArcGIS Runtime from 10.2 to 100. These changes have allowed us to keep pace with the ever-evolving tech landscape, from ArcGIS System paradigm shifts, to new app development patterns, to new technical specs and requirements that the market has demanded. Throughout this evolution, we have been able to base our product on Qt 5, which has provided a stable footing for us to keep up with the incremental changes we’ve seen over the years. However, some of the new and emerging trends, patterns, and paradigms require larger changes and updates. This is why The Qt Company released a new major version of Qt: Qt 6. Following suit, we are pleased to announce that in 2022, Esri will begin the next chapter of ArcGIS Runtime SDK for Qt by upgrading to the latest version of Qt 6.
Qt 6 brings many new features, such as:
- Support for additional graphics APIs Metal, Direct3D
- New platforms like macOS ARM for M1 Macs with Apple silicon
- New language features like QFuture, QPromise, and C++ Property Bindings
- Compiler upgrades, allowing us to support C++17 features
- Various quality of life improvements for QML, such as simplified versioning, required properties, and improved linting tools
- CMake build system
- Much more!
Some of these new features, like C++17 support, will be usable in your apps immediately upon upgrading to Qt 6 while other features, like Metal support on Apple Platforms or M1 Mac support, may come in subsequent releases of ArcGIS Runtime. Making the jump to Qt 6 now will allow us to take advantage of the new Qt 6 features over time.
The Qt Company has announced that LTS versions of software will be supported for 3 years, which means 5.15 will be out of support by June 2023. Our current plan is to release a version of ArcGIS Runtime SDK for Qt based on Qt 6 by the end of 2022. Easing the migration path from Qt 5 to Qt 6 is of the utmost importance, so we will be working hard to minimize API breaks and provide clear guidance to aid in upgrading your apps. We are still in the early R&D stages and would love to hear from you, to better understand your requirements so that we can make this the best Qt 6 product we can. We will share a more detailed roadmap as the year progresses and we have more information