Have many mobile business apps running at customer sites without any problem using Qt 5.15.7.
So: Never change a running system ?
But wait, the story isn’t so easy if you’re developing mobile apps. Each year there are changes from newest Android SDK or Apple iOS, also new requirements if you want to deploy apps to Google Play Store or Apple Appstore.
Qt 6 is the future for Qt and I know that the time will come soon, where Qt doesn’t backport changes to Qt 5.15. The lifetime of Qt 5.15 LTS was extended until 2025 (depends from your license).
To be sure to survive all the trouble always caused by Apple and Google, I know I have to switch to Qt 6.
Important issues
See some important bugs in work by Qt. I’m sure not all can be backported to 5.15. Here are some important issues currently in work for Qt 6.5+ – should motivate you to go the hard way from 5 to 6:
- QTBUG-99195 (Android 12 Features)
- QTBUG-100152 (Android 12 Features first Phase)
- TODO Check if android.permission.ACCESS_FINE_LOCATION is optional
- QTBUG-104385 (Android 13 features)
- QTBUG-101957 (Android 13 support)
- QTBUG-103564 (Android 13 new permissions)
Cool new features in Qt 6
Qt 6.0 … 6.5 provides many cool new features. Some of them – per ex. Android 12 Bluetooth Permissions) are also backported to Qt 5.15, but it’s clear that the main target these days is Qt 6.
- Item Views in Qt Quick
- Android 11, 12, 13 improvements
- Android 12 Bluetooth Permissions
- Better JNI integration
- Updated native iOS style
- Lightweight Qt HTTP Server
- Updates and changes in Qt Network
- QML Compiler (see more below)
- QML Lint (Verification of QML source code) and other QML Tooling, docs for qmllint
- What’s new for QML Modules in 6.5
- … there is much more. My selection only covers a small subset.
Good to know about Qt 6
- QList changes
- Asynchronous APIs
- Qt Extras Modules
- QML Modules
- Qt for Android
- All about Property Bindings
- … there is much more. My selection only covers a small subset.
Speed up QML
One of the most important thing: QML Compilers. I really want to take advantage of this. There are some blogs about new QML Compiler:
- The new Qt Quick Compiler (Vladimir Minenko)
- The new Quick Compiler Technology (Ulf Hermann)
- Performance benefits (Ulf Hermann)
- Optimize QML app for compilation (Ulf Hermann)
- Annotating JS functions (Ulf Hermann)
- Making types visible (Ulf Hermann)
- Avoiding duck typing (Ulf Hermann)
- Untangling dependencies (Ulf Hermann)
- Qt Quick Controls: optional imports (Ulf Hermann)
- Import pathes (Ulf Hermann)
- Fixes unqualified access (Ulf Hermann)
- 4 x speedup (Ulf Hermann)
So my decision is clear: I have to port all my apps from Qt 5 to Qt 6. This will take some time. While working on this I’ll do only small bugfixes using the Qt 5.15.13 release. My customers are warned before, that there’ll be no new features in my apps next 6-9 months, but it’s worth to wait.
There’s also some help with porting
- Porting Guide from 5 to 6
- Porting using Clazy checks
- Migrating to Qt 6 – QtC Webinar
- Webinar Part 2
- Webinar ‘Migrating from QMake to CMake’ (Joerg Bornemann, QtWS22)
- …
You must be logged in to post a comment.