Glossaire de WebAssembly
Le nom de tous les outils utilisables pour produire ou exécuter du code wasm.
- Binaryen
- Compilateur de bytecodes ou représentations textuelles en code wasm binaire exécutable. Asm2wasm utilise binaryen pour compiler Asm.js en wasm. s2wasm l'utilise pour compiler le bitcode LLVM en wasm. Wasm-as compile une s-expression en binaire wasm. Binaryen dispose aussi d'un interpréteur de code wasm.
Liste des outils de Binaryen.
- Emscriptem
- Outil conçu par Mozilla pour compiler C++ ou autre langage en JavaScript, Asm.js ou WebAssembly selon les directives de compilation.
- S-Expression (Symbolic Expression)
- Format de code textuel organisé comme un programme Lisp. WebAssembly dispose de deux représentations textuelle, l'une en s-expression, l'autre procédurale dite linéaire.
Exemple d'une s-expression:
(module
(func $addTwo (param i32 i32) (result i32)
get_local 0
get_local 1
i32.add)
(export "addTwo" (func $addTwo)))
- Wasm
- Abbréviation pour WebAssembly. S'écrit en minuscules avec la première lettre capitalisée.
- MVP (Minimal Viable Product)
- Produit minimum viable pour que wasm soit utilisable par une application. Vous rencontrerez souvent ce terme dans la documentation et il désigne l'implémentation actuelle dans les navigateurs en attendant un produit plus complet. MVP à des possibilités équivalentes à celles d'Asm.js.
- WABT (WebAssembly Binary Toolkit)
- Suite d'outils pour wasm qui comprend: wast2wasm, wasmdump, wasm-interp, wastr-desugar, wasm-link.
Liste des outils de WABT.
- Wast
- Abbréviation pour "WebAssembly Text Format", format textuel de wasm. Ce n'est pas un acronyme et ne s'écrit pas en majuscule. Le fichier wast contient une s-expression et a l'extension .wast.
De nombreux outils produisent du code binaire à partir de code wast: wast2wasm qui peut aussi l'afficher au fomat linéaire, wasm-interp qui l'interprète, binaryen, le backend LLVM.
- WAVM ( WebAssembly Virtual Machine)
- Cet outil est la machine virtuelle de wasm telle qu'incluse dans les navigateurs, mais détachée pour être utilisée de façon indépendante. On peut aussi utiliser Node si le code wasm est préparé pour s'exécuter avec JavaScript comme c'est le cas quand il est généré par Emscriptem.