performances du code natif • Sûr : “Memory-safe” et “sandboxing” • Indépendant : ◦ Du matériel ◦ Du langage ◦ De la plateforme • Se doter d’une représentation compact et efficace
COBOL D Eel Elixir F# Faust Forest Forth Go Grain Haskell Java JavaScript Julia Idris Kotlin/Native Kou Lobster Lua Lys Never Nim Ocaml Perl PHP Plorth Poetry Python Prolog Ruby Rust Scheme Scopes Swift TypeScript Wah Walt Wam WebAssembly Zig
• Chargement du fichier, compilation vers le langage machine (x86, arm, ...) et optimisations • Instanciation du module WASM • Appel des méthodes exposées
module WASM : mapping des méthodes • L'intercommunication JavaScript <> WASM ne peut se faire que par 2 entiers ou 2 flottants : utilisation de la mémoire partagée en cas de “String” • Absence de “Garbage Collector”
VR ou réalité augmentée • Simulations et visualisations scientifiques • Data Science (TensorFlow.js) • Emulation (QEMU, DOSBox, NES, Game Boy, ...) • Outillage orienté développement (IDE, ...) • Bureau à distance • DAO (Autocad) • Google Earth • Blockchain (Ethereum WebAssembly) • ...
created Docker. That's how important it is. Webassembly on the server is the future of computing. https://twitter.com/solomonstre/status/1111004913222324225
(WebAssembly System Interface) : ◦ Interface standard ◦ Permet d'interagir avec le monde extérieur (sanbox - I/O) • Permettra l'exécution d'une application sur n'importe quel système d'exploitation/architecture (runtime) https://hacks.mozilla.org/2019/03/standar dizing-wasi-a-webassembly-system- interface/