Google, Microsoft und Mozilla entwickeln in einer W3C-Arbeitsgruppe gemeinsam ein neues Binärcodeformat fürs Web, das sich mehr als 20-mal schneller als JavaScript-Code ausführen lassen wird, der erst geparst werden muss. Es heißt WebAssembly, kurz wasm, und wird als Nachfolger von asm.js gesehen.
WebAssembly entsteht auf GitHub. In der zuständigen Arbeitsgruppe des World Wide Web Consortium, wie das W3C ausführlich heißt, sind Vertreter der Google-Teams für Portable Native Client (PNaCl) und V8 vertreten, wichtige Microsoft-Entwickler und Spezialisten für asm.js sowie Emscripten von Mozilla.
„asm.js ist großartig, aber wenn Engines dafür optimiert sind, wird der Parser zum kritischen Punkt – und läuft gerade auf Mobilgeräten ziemlich heiß. Eine Transport-Kompression wird nötig und spart Bandbreite, aber eine Dekompression vor dem Parsen schadet“, schreibt JavaScript-Erfinder Brendan Eich (der kurze Zeit auch Mozilla-CEO war) in einem Blogbeitrag.
Weiter heißt es dort: „Nein, JavaScript wird auf absehbare Zeit nicht verschwinden. Ja, wasm wird JavaScript von der Notwendigkeit befreien, zwei Herren zu dienen. Bei diesem Plan gewinnt jeder.“
WebAssembly soll zunächst nur auf C und C++ abzielen und durch ein Polyfill in JavaScript übersetzt werden. Sobald aber eine Basisversion zur Verfügung steht, will man Unterstützung für andere Sprachen und Compiler integrieren. Zudem soll es irgendwann auch Funktionen enthalten können, die JavaScript und asm.js nicht bieten.
Obwohl es sich um ein Binärformat handelt, wird es auch ein Textformat für wasm geben. Damit ist es leichter für Anwender lesbar, die sich den Quelltext einer Webseite im Browser anzeigen lassen.
Die Projektmitarbeiter haben auf GitHub auch eine Seite mit Anwendungsszenarien veröffentlicht, die von wasm profitieren können. Dabei handelt es sich vor allem um komplexe Anwendungen wie Musik, Video und CAD für den Browser, VPNs, Verschlüsselung und Remote Desktop. Auch ganze Betriebssysteme ließen sich so im Browser simulieren oder emulieren, und er könnte Interpreter oder auch Virtuelle Maschinen ausführen, also als Programmierumgebung nützlich werden. Ein Einsatz ist aber auch serverseitig angedacht.
Eich resümiert: „Fazit: Aufgrund der gemeinsamen Weiterentwicklung von JavaScript und wasm werden meiner Meinung nach in wenigen Jahren alle führenden Browser mit JavaScript-Engines kommen, die sich zu wahrhaft polyglotten Virtuellen Maschinen entwickelt haben. Ich sage vorher, dass JavaScript diese Zeit überdauern und sich weiterentwickeln wird, um mehr APIs und Hardware-Notwendigkeiten aufzunehmen – aber nicht alle, weil wasm die Hauptlast trägt.“
[mit Material von Chris Duckett, ZDNet.com]
Tipp: Wie gut kennen Sie sich mit Browsern aus? Testen Sie Ihr Wissen – mit dem Quiz auf silicon.de.
Der Cybersecurity Report von Hornetsecurity stuft 2,3 Prozent der Inhalte gar als bösartig ein. Die…
Die Hintermänner haben es auf Zugangsdaten zu Microsoft Azure abgesehen. Die Kampagne ist bis mindestens…
Cloud-Plattform für elektronische Beschaffungsprozesse mit automatisierter Abwicklung elektronischer Rechnungen.
Mindestens eine Schwachstelle erlaubt eine Remotecodeausführung. Dem Entdecker zahlt Google eine besonders hohe Belohnung von…
Nur rund die Hälfte schaltet während der Feiertage komplett vom Job ab. Die anderen sind…
Security-Experten von Check Point sind einer neuen Angriffsart auf die Spur gekommen, die E-Mail-Schutzmaßnahmen umgehen…