Cross-Plattform-Entwicklung: Qt 6.2 schließt bei den Modulen zum Vorgänger auf
Nahezu alle Module der 5er Reihe sind nun in Version 6.x des Cross-Plattform-Frameworks verfügbar. Daneben gibt es unter anderem Neuerungen bei Qt Quick 3D.
Knapp drei Monate nach der ersten Beta ist nun Qt 6.2 erschienen. Die aktuelle Version schließt weitgehend mit dem Modulumfang der 5er Reihe des Cross-Plattform-Frameworks auf. Außerdem gibt es nennenswerte Neuerungen bei Qt Quick 3D und bei den Werkzeugen für QML (Qt Modeling Language).
Version 6.2 ist das erste LTS-Release (Long-term Support) der 6.x-Reihe, allerdings wie Version 5.15 als letztes 5.x-LTS-Release nur für die kommerzielle Variante. Anfang 2020 hatte die Qt Company einige Bedingungen angepasst und dabei den Long-term Support eingeschränkt.
Annähernder Schulterschluss beim Modulgerüst
Qt 6.0 war bereits Ende 2020 erschienen, aber die Qt Company hatte das Release seinerzeit als "unvollständigen Ausgangspunkt für die nächste Qt-Generation" bezeichnet. Die lückenhafte Umsetzung des Modulsystems stellt für viele Projekte die größte Hürde beim Umstieg von Qt 5.x auf die 6er-Serie dar. Die im Mai veröffentlichte Version 6.1 brachte bereits acht fehlende Module mit, und das aktuelle Release schließt weitere Lücken.
Insgesamt hat Qt 6.2 zwölf in Version 5.x verfügbare Module an Bord, die bisher in der 6er-Reihe fehlten: Qt Bluetooth, Qt Multimedia, Qt NFC, Qt Positioning, Qt RemoteObjects, Qt Sensors, Qt SerialBus, Qt SerialPort, Qt WebChannel, Qt WebEngine, Qt WebSockets und Qt WebView. Im Vergleich zu der im Frühjahr veröffentlichten Roadmap fehlt nach wie vor das als Nachfolger von Qt IVI geplante Qt Interface Framework.
Geschmeidige Migration
Die APIs der Module sind wohl weitgehend rückwärtskompatibel zu Qt 5, sodass nur minimale Anpassungen beim Portieren auf die neue Version erforderlich sein sollen. Qt Multimedia bringt allerdings unter der Haube und bei der API signifikante Änderungen mit, die laut der Qt Company nötig waren, um das Modul zu erweitern. Unter anderem bietet es in Qt 6 im Gegensatz zur Vorgängerversion Untertitel und Sprachauswahl bei der Wiedergabe und ein konfigurierbares Setup beim Capturen von Medieninhalten.
Insgesamt sollten laut dem Blogbeitrag zum Release von Qt 6.2 alle Entwicklerinnen und Entwickler nun in der Lage sein, ihre Projekte von Qt 5 auf Qt 6 zu migrieren. Getreu dem Motto "Eat Your Own Dogfood" hat die Qt Company das parallel zum aktuellen Framework-Release veröffentlichte Qt Design Studio 2.2 mit Qt 6.2 umgesetzt. Nachdem der im August veröffentlichte Qt Creator 5.0 noch auf Qt 5.x aufgesetzt hatte, entwickelt das Team hinter der IDE den für Ende des Jahres geplanten Nachfolger ebenfalls mit Qt 6.2.
Lesen Sie auch
Qt 6: Ein steiler Weg zur neuen Hauptversion
Neben den portierten Modulen hat das Release mit Qt Quick Dialogs ein neues Modul zum Umsetzen nativer Dialoge an Bord. Das Framework verwendet die jeweilige native Variante und greift auf Qt Quick zurück, wenn keine nativen Umsetzungen zur Verfügung stehen. Zum Start bringt das Modul FileDialog
für Dateizugriffe und FontDialog
für die Auswahl von Schriftarten mit.
Ergänzungen in den Modulen
Neben den Neuzugängen finden sich einige Ergänzungen bei den bereits portierten Modulen. Unter anderem bietet Qt Quick 3D mit 3D Particles eine neue API für Partikeleffekte in 3D-Szenen. Unter der Haube bringt das Modul mit Instanced Rendering Optimierungen für das Zeichnen mehrerer Instanzen desselben Objekts mit unterschiedlichen Transformationen mit.
Empfohlener redaktioneller Inhalt
Mit Ihrer Zustimmmung wird hier ein externes YouTube-Video (Google Ireland Limited) geladen.
Ich bin damit einverstanden, dass mir externe Inhalte angezeigt werden. Damit können personenbezogene Daten an Drittplattformen (Google Ireland Limited) übermittelt werden. Mehr dazu in unserer Datenschutzerklärung.
Außerdem gibt es Ergänzungen beim QML-Tooling, darunter eine öffentliche CMake-API, die das Erstellen eigener QML-Module vereinfachen soll. Daneben hat die Qt Company die Werkzeuge QML Linter und QML Formatter überarbeitet.
Betriebssystem von Desktop über Mobile bis zu Echtzeit
Schließlich erweitert das Release des Zusammenspiels mit unterschiedlichen Betriebssystemen. Unter anderem soll es vollständig mit Apple Silicon zusammenarbeiten, und zwar ohne den Rosetta-Layer. Außerdem lässt es sich (wieder) auf den Echtzeitbetriebssystemen Integrity und QNX verwenden.
Die Anbindung an Windows 11 befindet sich in Arbeit und soll über ein Patch-Release folgen. Zum Verwenden von Qt mit WebAssembly existiert zunächst eine Technology Preview. Für iOS bringt Qt 6.2 ein NFC-Backend mit. Die Neuerungen im Zusammenspiel mit Android erläutert ein eigener Blogbeitrag.
Weitere Neuerungen und Anpassungen in Qt 6.2 LTS finden sich im Qt-Blog. Sowohl das kommerzielle Release als auch die Open-Source-Variante von Qt 6.1 lassen sich über die Download-Seite herunterladen.
(rme)