Nach JavaScript ist vor WebAssembly

  • JavaScript spielt eine so wichtige Rolle für das Web, dass dieses Thema denke ich einen Thread verdient hat, was die Zukunft bringt: Mozilla, Google und Microsoft haben sich zusammengeschlossen, um ein Binärformat für das Web zu entwickeln: WebAssembly, oder kurz: wasm. Brendan Eich ist übrigens auch beteiligt, Mozilla-Gründer und Erfinder von JavaScript. In einem ersten experimentellen Prototyp gelingt das Dekodieren des Binärformats bereits um den Faktor 23 schneller als das Parsen der JavaScript (asm.js) -Quelle. Ich find das Thema sehr spannend, hier gibt es einen schönen Artikel dazu:

    http://www.zdnet.de/88238173/googl…b-binaerformat/

    Zitat

    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.”

  • Das Internet bleibt quelloffen, ansonsten wäre Mozilla kaum daran beteiligt. ;) WebAssembly definiert auch ein menschenlesbares Textformat. Ich zitiere aus den FAQ:

    Zitat

    Will WebAssembly support View Source on the Web?

    Yes! WebAssembly defines a text format to be rendered when developers view the source of a WebAssembly module in any developer tool. Also, a specific goal of the text format is to allow developers to write WebAssembly modules by hand for testing, experimenting, optimizing, learning and teaching purposes. In fact, by dropping all the coercions required by asm.js validation, the WebAssembly text format should be much more natural to read and write than asm.js. Outside the browser, command-line and online tools that convert between text and binary will also be made readily available. Lastly, a scalable form of source maps is also being considered as part of the WebAssembly tooling story.

    https://github.com/WebAssembly/de…urce-on-the-web

  • Anlässlich der Games Developers Conference, auf der auch Mozilla vertreten ist [1], gab es heute eine spannende Bekanntmachung: Eine erste experimentelle Unterstützung von WebAssembly ist nun in Firefox Nightly und Chrome Canary verfügbar und kann getestet werden. In Firefox kann WebAssembly über javascript.options.wasm aktiviert werden. Microsoft und Apple sind auch mit an Bord, können aber noch nichts für jeden zum Testen anbieten.

    [1] https://games.mozilla.org/