WebAssembly

WebAssembly, abrégé wasm, est un standard du World Wide Web pour le développement d’applications. Il est conçu pour compléter JavaScript avec des performances supérieures. Le standard consiste en un bytecode, sa représentation textuelle et un environnement d'exécution dans un bac à sable compatible avec JavaScript. Il peut être exécuté dans un navigateur Web et en dehors. WebAssembly est standardisé dans le cadre du World Wide Web Consortium.

WebAssembly

Date de première version
Paradigme Orienté expression
Développeurs Mozilla Foundation, Google, Microsoft, Apple, W3C
Dernière version 1.1 ()[1]
Typage statique
Influencé par asm.js, PNaCl
Licence Licence Apache
Site web , https://github.com/WebAssembly/design
Extension de fichier wast et wasm

Comme WebAssembly ne spécifie qu'un langage de bas niveau, le bytecode est généralement produit en compilant un langage de plus haut niveau. Parmi les premiers langages supportés figurent Rust avec le projet/module (crate) wasm-bindgen ainsi que le C et C++, compilés avec Emscripten (basé sur LLVM). De nombreux autres langages de programmation possèdent aujourd'hui un compilateur WebAssembly, parmi lesquels : C#, Go, Java, Lua, Python, Ruby ou Pascal[2].

Les navigateurs Web compilent le bytecode wasm dans le langage machine de l'hôte sur lequel ils sont utilisés avant de l'exécuter.

Moteurs de jeux

Différents moteurs de jeu utilisent WebAssembly pour proposer une version Web Rapide des programmes les utilisant.

Sa présentation officielle a eu lieu le et depuis sa première démonstration (), il est possible de jouer à Unity Angry Bots à travers son navigateur en WebAssembly. Le , il a atteint le jalon Browser Preview[3],[4].

La fantasy console open source TIC-80 comporte également une version WebAssembly[5].

TinyEMU de Fabrice Bellard (également auteur de QEMU et ffmpeg) est un émulateur léger RISC-V, il est utilisé pour le portage de Haiku (remake libre de BeOS)[6]. Il est notamment utilisé dans BareDoom, un port de Doom sur RISC-V utilisant le système minimal Barebox. Pour la démonstration, il fonctionne lui même sur TinyEMU recompilé en WebAssembly pour fonctionner dans un navigateur[7].

Notes et références

Liens externes

  • Portail de la programmation informatique
Cet article est issu de Wikipedia. Le texte est sous licence Creative Commons - Attribution - Partage dans les Mêmes. Des conditions supplémentaires peuvent s'appliquer aux fichiers multimédias.