Abo
  • IT-Karriere:

Webassembly: Browserhersteller wollen einheitlichen Bytecode fürs Web

Noch ist es nicht viel mehr als ein Plan, doch wegen der breiten Unterstützung könnte Webassembly schon bald Javascript in Teilen ablösen. Die Entwicklung des Bytecodes wird von Google, Mozilla, Microsoft und anderen vorangetrieben.

Artikel veröffentlicht am ,
Eine Demoanwendung von Wasm: ein Spiel, das mit der Unity-Engine umgesetzt wurde
Eine Demoanwendung von Wasm: ein Spiel, das mit der Unity-Engine umgesetzt wurde (Bild: Luke Wagner)

Javascript sollte für Menschen eigentlich leicht zu lesen sein, oft ist der vom Browser ausgeführte Code aber derart komplex, dass das nicht mehr möglich ist. Das führt wiederum zu enormen Problemen für die Browserhersteller. Gelöst werden könnten diese Schwierigkeiten durch Webassembly (Wasm): ein portables, auf geringe Größe und kurze Ladezeiten optimiertes Binärformat samt Ausführungsmodell - ein Bytecode für das Web also.

Stellenmarkt
  1. Modis GmbH, Bonn
  2. Meierhofer AG, München

Beteiligt sind an dem Projekt derzeit die Entwickler aller großen Browserengines, was damit branchenübergreifend von Mozilla, Google, Mircosoft und Apple getragen wird. Geplant ist es, Wasm als einheitliches Ziel von kompilierten Programmen im Web zu etablieren. Dazu ist ein LLVM-Backend geplant, mit dem zum Beispiel Code in C oder C++ nach Wasm übersetzt werden kann.

Ein Bytecode für alle

Das Konzept, Bytecode im Browser zu verwenden, ist etwa mit .Net oder Java bereits umgesetzt worden. Dafür waren aber Plugins für die Browser nötig, eine gute Integration war darüber jedoch nur schwer möglich. Denn anders als bei Javascript, mit dem etwa HTML auf einer Seite manipuliert werden kann, sind die Plugins vom Rest des Browsers mehr oder weniger stark abgeschlossene Einheiten. Besonders wichtig im Vergleich zu Javascript ist vor allem das deutlich reduzierte Downloadvolumen.

Wasm ist deshalb auch eher als Ersatz für Asm.js oder Googles Portable Native Client geschaffen worden. Letzteres konnte sich bisher nicht übergreifend durchsetzen und Asm.js weist immer noch einige der Probleme von Javascript auf, auch wenn es eine klar definierte Untermenge ist.

So lässt sich das neue Binärformat in ersten Tests bis zu 20-mal schneller parsen als vergleichbares Asm.js. Dieser Geschwindigkeitsvorteil ist letztlich auch der Hauptgrund für Wasm. Bytecode ist viel näher an einer Maschinensprache und oft sehr klar definiert.

Der Bau von Compilern und Laufzeitumgebungen wird damit vereinfacht, schließlich gibt es auch kein undefiniertes Verhalten wie in manchen höheren Programmiersprachen üblich. Außerdem wird durch den Einsatz von Bytecode die Nutzung von SIMD-Instruktionen erleichtert, was wiederum die Ausführung beschleunigt.

Projekt steht erst am Anfang

Noch ist Wasm nicht viel mehr als ein Plan, dieser scheint aber sehr ausgereift. So soll es ein zu dem Binärformat isomorphes Textformat geben. Diese könnte dann etwa sehr gut zum Debuggen geeignet und ähnlich zu Assembly-Code für Hardwarearchitekturen zu benutzen sein.

Bis die Browser Wasm direkt ausführen können, soll eine Übergangslösung geschaffen werden. Dazu soll ein Polyfill genutzt werden, das Wasm zu Javascript überführt. Die bestehenden Engines sollten damit dann keine Probleme haben.

Das Design von Wasm wird auf Github erläutert, weitere Details sind in FAQ gesammelt. Der Javascript-Erfinder Brendan Eich bietet in seinem Blog außerdem einen Überblick zu wichtigen Fragen rund um Wasm sowie einen Ausblick, wohin sich seiner Meinung nach das neue Format entwickeln könnte.

Koordiniert wird die Arbeit an Wasm in einer Community-Arbeitsgruppe beim W3C, der erste Entwurf einer vorläufigen Spezifikation steht aber noch aus.



Anzeige
Spiele-Angebote
  1. (-91%) 5,25€
  2. 2,99€
  3. 3,99€
  4. 2,99€

FreiGeistler 16. Mär 2016

Hab ich was verpasst? Wenn der Ersteller kommentiert kommen die Kommentare auch bei mir...

spiderbit 18. Dez 2015

Wenn die Frage Polizeistaat und Diktatur "geniesen" oder im Keller einschliessen ist...

spiderbit 18. Dez 2015

Bin ich grad durch den Wind oder du, finde das Zitat nicht in meinem letzten kommentar...

CoDEmanX 18. Dez 2015

XML und Performance, ja ne ist klar.

CoDEmanX 18. Dez 2015

Um zu WebAssembly zu kompilieren wird genau eine zusätzliche Option für das Buildsystem...


Folgen Sie uns
       


Phase One IQ4 ausprobiert

Die Phase One IQ4 ist das Mittelformatsystem mit der höchsten Auflösung, das zur Zeit erhältlich ist. Wir haben die Profikamera getestet.

Phase One IQ4 ausprobiert Video aufrufen
Minecraft Dungeons angespielt: Fehlt nur noch ein Klötzchen-Diablo in der Tiefe
Minecraft Dungeons angespielt
Fehlt nur noch ein Klötzchen-Diablo in der Tiefe

E3 2019 Von der Steuerung bis zu den Schatzkisten: Minecraft Dungeons hat uns beim Anspielen bis auf die Klötzchengrafik verblüffend stark an Diablo erinnert - und könnte gerade deshalb teuflisch spaßig werden!

  1. Augmented Reality Minecraft Earth erlaubt Klötzchenbauen in aller Welt
  2. Microsoft Augmented-Reality-Minecraft kommt zum zehnten Jubiläum
  3. Jubiläum ohne Notch Microsoft feiert Minecraft ohne Markus Persson

Ocean Discovery X Prize: Autonome Fraunhofer-Roboter erforschen die Tiefsee
Ocean Discovery X Prize
Autonome Fraunhofer-Roboter erforschen die Tiefsee

Öffentliche Vergaberichtlinien und agile Arbeitsweise: Die Teilnahme am Ocean Discovery X Prize war nicht einfach für die Forscher des Fraunhofer Instituts IOSB. Deren autonome Tauchroboter zur Tiefseekartierung schafften es unter die besten fünf weltweit.
Ein Bericht von Werner Pluta

  1. JAB Code Bunter Barcode gegen Fälschungen

Projektmanagement: An der falschen Stelle automatisiert
Projektmanagement
An der falschen Stelle automatisiert

Kommunikationstools und künstliche Intelligenz sollen dabei helfen, dass IT-Projekte besser und schneller fertig werden. Demnächst sollen sie sogar Posten wie den des Projektmanagers überflüssig machen. Doch das wird voraussichtlich nicht passieren.
Ein Erfahrungsbericht von Marvin Engel


      •  /