Qt 5.13 bringt WebAssembly-Unterstützung als vollwertiges Feature

Als vermutlich spannendste Neuerung von Qt 5.13 darf die Anbindung an WebAssembly gelten, die bislang den Status einer Technical Preview hatte.

In Pocket speichern vorlesen Druckansicht 8 Kommentare lesen
Qt 5.13 bringt WebAssembly-Unterstützung als vollwertiges Feature
Lesezeit: 3 Min.
Von
  • Alexander Neumann

Mit rund einem Monat Verspätung hat die Qt Company die Version 5.13 des plattformübergreifenden Entwicklungsframeworks Qt veröffentlicht. Als womöglich spannendste Neuerung darf vermutlich die Anbindung an WebAssembly gelten, die seit Version 5.11 als Technical Preview eingebunden war. Mit Qt WebAssembly können Entwickler Binärpakete für die Ausführung in Webbrowsern erstellen, die analog zu denen für andere Plattformen sind. Die Webanwendungen können unter anderem auf das lokale Dateisystem zugreifen und sind dabei an die vom Browser bereitgestellte Sandbox beschränkt.

Qt for WebAssembly verwendet den LLVM-zu-Web-Compiler Emscripten, um Qt-Anwendungen für einen Webserver zu kompilieren, sodass Entwickler native Anwendungen in jedem Browser ausführen können, der WebAssembly unterstützt, ohne eine clientseitige Installation zu brauchen.

Nennenswert ist auch die Qt-GUI-Ergänzung QImage::convertTo, um Bilder zu konvertieren. Außerdem lassen sich OpenGL Texture Handles in Qt 3D sowohl importieren als auch exportieren. Qt Quick Controls 2 bekommt eine SplitView, und die TableView in Qt Quick kann Spalten und Zeilen verstecken.

Qt GUI wurde um eine sichere Channel-Unterstützung für SSL-Sockets unter Windows und OCSP-Support (Online Certificate Status Protocol) ergänzt. Qt QML kann nun besser mit in C++ deklarierten Enums umgehen, und es generiert nun Funktionstabellen auf 64-Bit-Fenstern, was es ermöglicht, den Stack durch JITed-Funktionen abzuwickeln. Die Qt WebEngine basiert nun auf Chromium 73.

Eine weitere Neuerung betritt als Technical Preview die Bühne: Qt Lottie ist ein Player für mit dem BodyMovin-Plug-in von Adobe After Effects erstellten Dateien. Airbnb hatte bereits 2017 für iOS und Android unter dem Namen Lottie Laufzeitbibliotheken zum Abspielen der Dateien erstellt. Qt Lottie ist analog dazu der Player für das Qt-Framework.

Ebenfalls des Status einer Technical Preview hat die QtCoAP-Bibliothek, mit der Entwickler in der Lage sind, das Contrained Application Protocol (CoAP) in mit Qt erstellten IoT-Anwendungen zu nutzen. Diese clientseitige Implementierung des Protokolls ist Teil von Qt for Automation, zusammen mit anderen IoT-zum Teil in Qt 5.13 überarbeiteten Protokollimplementierungen wie MQTT, KNX und OPC-UA, und bietet Funktionen wie Ressourcenbeobachtung, Ressourcenermittlung, Multicasting, blockweise Übertragung und Sicherheit (Authentifizierung via vorab freigegebene Schlüssel und X.509-Zertifikate).

Lars Knoll, Qt Chief Maintainer und CTO der Qt Company, listet in der Ankündigung einige weitere Neuerungen auf und gibt einen knappen Bericht zu weiteren Qt-Projekten wie Qt Creator, Qt Design Studio und Qt for Python. Qt 5.14 soll Ende des Jahres auf das heute freigegebene Release folgen, Qt 5.15 ist dann für Frühsommer 2020 geplant, und möglicherweise ist bis Ende 2020 mit Qt 6.0 zu rechnen.

Siehe dazu auf heise Developer:

(ane)