
Demoanwendung "Angry Bots": Web Assembly soll die Darstellung grafischer Inhalte im Netz beschleunigen.
Microsoft, Google und Mozilla arbeiten gemeinsam an Web Assembly, einem neuen Binärformat für Webanwendungen. Das soll sich für Spiele, P2P-, VR und AR-Anwendungen, aber auch CAD-Software und wissenschaftliche Visualisierungen eignen.
Eine neues Binärformat für das Web hat Brendan Eich in seinem Blog angekündigt. Entwickler, die in C oder C++ programmieren, sollen ihre Programme künftig in das Web-Assembly-Format (“.wasm”) übersetzen können, das dann eine Javascript-Engine ausführt, die in allen Browsern lauffähig ist. Die beiden Programmiersprachen fokussiert das Projekt als erstes, weitere sollen folgen. Mit an Bord sind neben Mozilla unter anderem Google und Microsoft, Apple steht nicht auf der Liste.
Die Entwickler haben sich für ein Binärformat entschieden, weil sich dieses nicht nur besser komprimieren lasse, sondern weil die Engine es auch deutlich schneller ausführen kann. Tests mit einem Polyfill-Prototypen hätten gezeigt, dass das mit GZIP komprimierte Binärformat nicht nur 20 bis 30 Prozent kleiner sei, die Engine könne den Binärcode auch etwa 20 Mal schneller dekodieren als den vergleichbaren asm.js-Quellcode.
Eine Befürchtung räumen die Entwickler gleich aus dem Weg: Wollen Entwickler den Quellcode von Web Assembly betrachten, lässt sich dieser automatisch in ein Textformat verwandeln. Das soll Entwickler in die Lage versetzen, zu Test-, Optimierungs- und Lernzwecken per Hand Web-Assembly-Module zu schreiben, der Code soll zudem besser lesbar sein als asm.js.

Demoanwendung “Angry Bots”: Web Assembly soll die Darstellung grafischer Inhalte im Netz beschleunigen.
Web Assembly soll Javascript nicht ablösen, sondern ergänzen. Die Entwickler gehen davon aus, dass Javascript als “Klebstoff” für kompilierte C++-Anwendungen herhalten wird und dass sich Web-Assembly-Anwendungen in HTML-5-Interfaces einbetten lassen.
Wer Web-Assembly-Programme bauen will, greift zu Clang/LLVM oder darauf basierenden Projekten wie Emscripten und Portable Native Client (Pnacl). Auch GCC-Support wünschen sich die Entwickler, die nach eigenen Angaben mit LLVM begonnen haben, weil sie sich mit der Toolchain am besten auskennen.
Eine W3C-Gruppe für den angestrebten Standard gibt es bereits, aber Spezifikationen fehlen noch. Wer sich die bisherige Entwicklung von Web Assembly selbst ansehen möchte, kann mit Angry Bots und Platformer Game auf zwei Prototypen zugreifen.



