Cross-Plattform-Entwicklung: Qt 5.14 lÀutet den Abschied von OpenGL ein
Das Qt-Framework bekommt einen Renderer, der unabhÀngig von der Grafik-API arbeitet. Parallel zu Qt 5.14 ist Qt Creator 4.11 erschienen.
Die Qt Company hat das Qt-Framework in Version 5.14 und gleichzeitig die Entwicklungsumgebung Qt Creator 4.11 veröffentlicht. Ersteres bringt einige Neuerungen in Qt Quick mit, allen voran eine eigene Abstraktionsschicht, um unabhÀngig von der Grafik-API zu rendern. Letzteres zielt auf die NeuzugÀnge Qt for MCUs und Qt for WebAssembly.
Das Qt Framework bereitet mit seinen Neuerungen vor allem den Wechsel auf die nĂ€chste Hauptversion vor. Der Qt Chief Maintainer und CTO der Qt Company Lars Knoll hat im August einen Ausblick auf Qt 6 veröffentlicht [1]. Qt 5.14 wird jedoch nicht die letzte 5.x-Version sein, sondern fĂŒr nĂ€chstes Jahr steht vor dem Sprung auf 6.x zunĂ€chst Qt 5.15 an, das als LTS-Release (Long-term Support) vorgesehen ist.
UnabhÀngige 3D-Darstellung
Die ZukunftsplĂ€ne betreffen unter anderem den Grafik-Stack, der kĂŒnftig unabhĂ€ngig von OpenGL als 3D-Grafik-API arbeiten soll. Qt Quick bringt eine erste Preview des neuen Scene Graph Renderers mit. Er arbeitet mit einer zusĂ€tzlichen Abstraktionsschicht, die Qt Rendering Hardware Interface heiĂt. Damit lĂ€sst sich Vulkan, Metal oder Direct3D 11 statt OpenGL als Programmierschnittstelle verwenden. Die Umstellung ist in Qt 5.14 optional und soll in Qt 6 zum Standard fĂŒr das Rendern werden.
Weitere Neuerungen in Qt Quick sind sind das Qt-Quick-Timeline-Modul zum Animieren von Propertys ĂŒber eine Zeitleiste und Key Frames. Das Modul ist Bestandteil des Designwerkzeugs Qt Design Studio. Ein weiterer Neuzugang ist der WheelHandler, der Events vom Mausrad verarbeitet.
2D und 3D vereint
Die Integration von 3D-Inhalten in Qt Quick gehört ebenfalls zu den PlĂ€nen, die Knoll in seinem Ausblick auf Qt 6 genannt hat. Qt 5.14 bringt dazu Qt Quick 3D mit. Mit dem Modul können Entwickler und Designer 3D-Szenen ĂŒber QML definieren und so 2D- und 3D-Darstellungen einheitlich entwickeln. Unter anderem können sie Qt-Quick-Inhalte als Textur fĂŒr 3D-Objekte verwenden. Qt Quick 3D ist im aktuellen Release als Technology Preview gekennzeichnet und soll als vollwertiges Modul in Qt 5.15 enthalten sein.
(Bild:Â Qt Company)
Weitere nennenswerte Neuerungen in Qt 5.14 sind High-dpi-Support und das Auswerten von Farbrauminformationen zur korrekten Farbdarstellung auf entsprechend kalibrierten Displays. Texteditoren aus Qt Widgets oder Qt Quick können nun Markdown-Dateien lesen und schreiben. Android-Entwickler können neuerdings mehrere ABI-Builds (Android Binary Interface) fĂŒr verschiedene Zielplattformen in ein AAB-Paket (Android App Bundle) packen.
Entwicklungsumgebung mit neuen Zielplattformen
Der ebenfalls frische Qt Creator 4.11 hat gleich zwei neue Zielplattformen im Visier. Die vor allem, aber nicht nur, auf die Entwicklung mit dem Qt-Klassenbibliothek ausgelegten IDE kennt neuerdings sowohl Qt for WebAssembly als auch Qt for MCUs als Ziel. Beide Plattformen sind im aktuellen Qt Creator jedoch noch als experimentell gekennzeichnet.
Die Qt Company hat vor Kurzem die allgemeine VerfĂŒgbarkeit von Qt for MCUs [2] verkĂŒndet. Das Toolkit ist auf die Embedded-Entwicklung ausgelegt. Entwickler können damit Qt-Anwendungen fĂŒr Mikroprozessoren wahlweise ĂŒber ein Echtzeitbetriebssystem (Real-time Operating System, RTOS) oder im Bare-Metal-Betrieb ohne Betriebssystem erstellen.
LSP, Python und CMake
Nennenswert ist zudem noch die erweiterte Anbindung des Language Server Protocol (LSP), die nun auch die zugehörige Extension fĂŒr Syntaxhervorhebung kennt. Language-Server fĂŒr Python sollen sich nun einfacher konfigurieren lassen, und im Zusammenspiel mit CMake ab Version 3.14 verwendet Qt Creator die dateibasierte API zum Konfigurieren von Projekten, die zuverlĂ€ssiger arbeiten soll als der bisher verwendete Server-Mode.
Weitere Neuerungen der beiden Releases lassen sich den BlogbeitrÀgen zu Qt 5.14 [3] beziehungsweise zu Qt Creator 4.11 [4] entnehmen. (rme [5])
URL dieses Artikels:
https://www.heise.de/-4614528
Links in diesem Artikel:
[1] https://www.heise.de/news/Qt-Chef-Maintainer-veroeffentlicht-erste-Plaene-fuer-Qt-6-4490900.html
[2] https://www.heise.de/news/Embedded-Entwicklung-Qt-for-MCUs-ist-allgemein-verfuegbar-4610007.html
[3] https://www.qt.io/blog/qt-5.14-has-released
[4] https://www.qt.io/blog/qt-creator-4.11.0-is-released
[5] mailto:rme@ix.de
Copyright © 2019 Heise Medien