WebAssembly

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen
WebAssembly
Logo von Webassembly
Basisdaten
Erscheinungsjahr: 2017
Entwickler: W3C
Aktuelle Version 1.1[1]  (9. Dezember 2019)
Beeinflusst von: asm.js, Google Native Client
Lizenz: Apache-Lizenz
webassembly.org

WebAssembly (wasm) ist ein Bytecode zur Ausführung in Webbrowsern. Ziel der Entwicklung ist eine schnelle Ergänzung zu JavaScript, sowohl was die Ladezeiten als auch die Ausführung betrifft. Das Projekt wird von allen großen Entwicklern von Browserengines, also Mozilla, Microsoft, Google und Apple, betrieben[2][3] und soll gegenüber asm.js eine weitere Optimierung der Lade- und Ausführungszeiten erreichen. Anfangs sollen die Programmiersprachen C und C++ unterstützt werden.[4] Auch kompilieren Rust, C#, F# und Go nativ nach WebAssembly.[5][6][7]

Seit März 2017 wird die Version 1 standardmäßig mit Chrome, Firefox, Edge und Webkit ausgeliefert.[8][9] Weitere Funktionen sind in Entwicklung.[10]

Das Tool Emscripten ist in der Lage, nahezu jeden C/C++-Quellcode in ein WebAssembly-Modul zu kompilieren. Zusätzlich wird der notwendige JavaScript-Code zum Laden und Ausführen dieses Moduls sowie ein HTML-Dokument zur Anzeige generiert.[11]

Über eine neue Schnittstelle namens WASI soll in Zukunft WebAssembly auch außerhalb von Browsern benutzt werden können.[12]

Weblinks[Bearbeiten | Quelltext bearbeiten]

Einzelnachweise[Bearbeiten | Quelltext bearbeiten]

  1. Release 1.1. 9. Dezember 2019 (abgerufen am 10. Dezember 2019).
  2. Peter Bright: The Web is getting its bytecode: WebAssembly. Ars Technica, 18. Juni 2015, abgerufen am 6. Juli 2017 (englisch).
  3. Sebastian Grüner: Webassembly: Browserhersteller wollen einheitlichen Bytecode fürs Web. In: golem.de. 18. Juni 2015, abgerufen am 6. Juli 2017.
  4. WebAssembly High-Level Goals. In: webassembly.org. Abgerufen am 6. Juli 2017 (englisch).
  5. bors: rustbuild: Enable WebAssembly backend by default by alexcrichton · Pull Request #46115 · rust-lang/rust · GitHub. In: github.com. 25. November 2017, abgerufen am 4. Februar 2018 (englisch).
  6. Paul Krill: Direct WebAssembly compilation comes to Rust language.
  7. Go 1.11 Release Notes - The Go Programming Language. Abgerufen am 27. August 2018.
  8. Luke Wagner (lwagner@mozilla.com): WebAssembly consensus and end of Browser Preview from Luke Wagner on 2017-02-28 (public-webassembly@w3.org from February 2017). Abgerufen am 8. Juni 2018 (englisch).
  9. Roadmap - WebAssembly. Abgerufen am 8. Juni 2018.
  10. Features to add after the MVP - WebAssembly. Abgerufen am 8. Juni 2018.
  11. WebAssembly Concepts. In: developer.mozilla.org. Abgerufen am 3. März 2019 (englisch).
  12. heise online: Mozilla startet Standardisierungsprozess für WebAssembly außerhalb des Webs. Abgerufen am 28. März 2019.