WebAssembly Binärformat
WebAssembly (Wasm) ist ein binäres Befehlsformat für eine stapelbasierte virtuelle Maschine. Es ermöglicht nahezu native Leistung in Webbrowsern für Anwendungen wie Spiele, Videobearbeitung, CAD und wissenschaftliche Simulationen. Code aus C, C++, Rust und Go wird zu Wasm kompiliert und ist portabel ausführbar.
MIME-Typ
application/wasm
Typ
Binaer
Komprimierung
Verlustfrei
Vorteile
- + Near-native execution speed in web browsers
- + Compile from C, C++, Rust, Go, and more
- + Sandboxed execution for security
- + Portable — runs in browsers and server-side via WASI
Nachteile
- − No direct DOM access — requires JavaScript interop
- − Debugging is harder than JavaScript
- − Binary format is not human-readable
Wann Sie .WASM verwenden sollten
Verwenden Sie Wasm für CPU-intensive Webanwendungen, die Portierung von nativem Code in Browser und serverlose Edge-Funktionen über WASI.
Technische Details
Wasm verwendet ein kompaktes Binärformat mit typisierten Funktionen, linearem Speicher und einem Validierungsschritt, der die Sicherheit gewährleistet. Es läuft in einer Sandbox-Umgebung ohne direkten Zugriff auf das DOM — JavaScript-Brücken stellen I/O bereit. WASI erweitert Wasm für den serverseitigen Einsatz.
Geschichte
Das W3C veröffentlichte WebAssembly 1.0 im Jahr 2017, entwickelt von Mozilla, Google, Microsoft und Apple. Es wurde als Kompilierungsziel für das Web konzipiert und ergänzt JavaScript mit deterministischer, vorhersagbarer Leistung.