WebAssembly Binary
WebAssembly (Wasm) est un format d'instruction binaire pour une machine virtuelle basée sur une pile. Il permet des performances quasi natives dans les navigateurs web pour des applications comme les jeux, le montage vidéo, la CAO et les simulations scientifiques. Le code en C, C++, Rust et Go se compile en Wasm pour une exécution portable.
Type MIME
application/wasm
Type
Binaire
Compression
Sans perte
Avantages
- + 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
Inconvénients
- − No direct DOM access — requires JavaScript interop
- − Debugging is harder than JavaScript
- − Binary format is not human-readable
Quand utiliser .WASM
Utilisez Wasm pour les applications web intensives en CPU, le portage de code natif vers les navigateurs et les fonctions serverless edge via WASI.
Détails techniques
Wasm utilise un format binaire compact avec des fonctions typées, une mémoire linéaire et une étape de validation garantissant la sécurité. Il s'exécute dans un environnement sandbox sans accès direct au DOM — des ponts JavaScript fournissent les E/S. WASI étend Wasm pour une utilisation côté serveur.
Historique
Le W3C a publié WebAssembly 1.0 en 2017, développé par Mozilla, Google, Microsoft et Apple. Il a été conçu comme cible de compilation pour le web, complétant JavaScript avec des performances déterministes et prévisibles.