WebAssembly: Erste experimentelle Unterstützung in Firefox Nightly und Chrome Canary
WebAssembly, das neue Binärformat für das Web, hat einen wichtigen Meilenstein erreicht: erste experimentelle und zueinander kompatible Implementierungen stehen in ersten Browsern zur Verfügung. Entsprechende Ankündigungen gab es heute parallel von Mozilla, Google und Microsoft.
Erstmals angekündigt wurde WebAssembly, oder kurz: wasm, im Juni 2015. Nun, neun Monate später, gab es pünktlich zur Games Developers Conference in Las Vegas Ankündigungen von Mozilla, Google und Microsoft über den aktuellen Status.
WebAssembly ist ein neues Binärformat für das Web, entwickelt von Mozilla, Google, Microsoft und Apple in einer W3C Community Group. Ähnlich wie bei Mozillas asm.js oder Googles PNaCl handelt es sich dabei um das Resultat kompilierten Codes und soll die Performance von Webanwendungen auf eine neue Ebene heben.
Nutzer einer Nightly-Version von Firefox können eine erste experimentelle Unterstützung von WebAssembly über about:config aktivieren, indem der Schalter javascript.options.wasm per Doppelklick auf true geschaltet wird. Nutzer einer Canary-Version von Google Chrome können eine erste experimentelle Unterstützung über chrome://flags#enable-webassembly aktivieren. Microsoft hat eine erste Unterstützung in einem internen Testbuild von Microsoft Edge demonstriert. Nutzer des Microsoft-Browsers sowie von Apple Safari müssen sich aber noch gedulden, ehe sie selbst testen können.
Noch gibt es viel zu tun, dennoch markiert dieser Meilenstein einen wichtigen Schritt auf dem Weg zum Ziel. Einen ausführlicheren technischen Hintergrund liefern die oben verlinkten Ankündigungen der genannten Browserhersteller.
Auch JavaScript ist längst kein offener Code mehr. Oder kannst du sagen, was der folgende Code tut?
Und das ist nur ein winziger Ausschnitt aus dem Code auf der Startseite von Google. Ich vermute, dass da irgendwelches Browser-Sniffing betrieben wird, aber was genau passiert, ist so gut verschleiert, wie es auch ein Binärformat nicht besser könnte.
Nur mal so als Verständigung Nachfrage:
Vor WebAssembly: Der HTML und JS Quellcode wurde zum Browser geschickt und erst dort übersetzt und dann als fertige Page angezeigt.
Nach WebAssembly: Es wird kein offener Quellcode mehr zum Browser geschickt, sondern vorkompilierter Bytecode der dann vom Browser als fertige Page angezeigt.
Also Bytecode hört sich nicht wirklich als von Menschen lesbar an. 😉
Ist das so, wenn nicht erkläre bitte mal genau was WebAssembly macht. Danke.
@Max:
Der Bytecode selbst nicht. Der Browser ist aber dazu in der Lage, den Bytecode in einem lesbaren Textformat auszugeben. Wie genau das aussehen wird, kann dir derzeit noch niemand sagen, weil eben jenes Format noch in der Entwurfsphase ist. Es gibt verschiedene Prototypen, das finale Format kann am Ende aber ganz anders aussehen.