Zum Hauptinhalt Zur Navigation Zur Suche

C++-Framework: Qt arbeitet an Webassembly-Support

Dank Webassembly können Qt-Anwendungen demnächst im Browser laufen, einige Demo-Seiten zeigen dafür bereits Beispiele. Aber es gibt auch noch reichlich Hindernisse bei der Portierung.
/ Sebastian Grüner
5 Kommentare News folgen (öffnet im neuen Fenster)
Qt läuft dank Webassembly auch im Browser. (Bild: Qt, Screenshot/Golem.de)
Qt läuft dank Webassembly auch im Browser. Bild: Qt, Screenshot/Golem.de

Dank des standardisierten Bytecode-Formats für das Web, Webassembly, das inzwischen alle vier großen Browser beherrschen, könnten künftig C++-Anwendungen in einer sicheren Sandbox direkt im Browser laufen. Das versuchen zumindest die Entwickler des C++-Frameworks Qt umzusetzen, die an einer Unterstützung für Webassembly arbeiten. Version 5.11 von Qt soll laut einer Ankündigung(öffnet im neuen Fenster) eine Technologievorschau mitbringen, die es wie beschrieben ermöglichen soll, Qt-Code im Browser auszuführen.

Getestet werden kann die Technik mit einer Beta-Version von Qt 5.11, die bereits verfügbar ist – die Entwickler bitten um Feedback. Ein Wiki-Eintrag des Projekts(öffnet im neuen Fenster) erläutert ausführlich, wie sich der Webassembly-Support in Qt integrieren lässt. Auch einige Beispiele für Qt-Anwendungen lassen sich bereits im Browser betrachten. Diese Demos finden sich auf Github(öffnet im neuen Fenster) oder sind in der Amazon-Cloud(öffnet im neuen Fenster) gehostet.

Noch nicht perfekt

Wie einfach sich Anwendungen in funktionierende Webassembly-Dateien umwandeln lassen, hängt laut dem Entwickler Lorn Potter, der sich in den Kommentaren äußert, von den konkreten Funktionen ab, die diese App benötigt. Setze sie zum Beispiel stark auf Qnetworking, gebe es vermutlich Probleme an eben diesem Punkt. Auch Multithreading sei noch nicht einfach portierbar, da Webassembly bislang nur einen Thread nutze. Zudem fehle noch die Unterstützung für lokale Dateisysteme.

Ein anderer Entwickler weiß für seine App namens Ossia Score(öffnet im neuen Fenster) hingegen Positives zu berichten. Seine 300.000 Zeilen lange Qt-Anwendung habe sich fast auf Anhieb nach Wasm übersetzen lassen. Und sie laufe bis auf ein paarmal Einfrieren hier und da "insgesamt gut".


Relevante Themen