WebAssembly

Un article de Wikipédia, l'encyclopédie libre.

WebAssembly
Logo.

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

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.

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). Il peut également être généré à partir de n'importe quel langage à condition d'avoir un compilateur.

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

De nombreux langages de programmation possédant aujourd'hui un compilateur WebAssembly, parmi lesquels : C#, Go, Java, Lua, Python ou Ruby.

Moteurs de jeux[modifier | modifier le code]

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[2],[3].


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

Notes et références[modifier | modifier le code]

  1. « Release 1.1 », (consulté le 10 décembre 2019)
  2. http://www.developpez.com/actu/106127/WebAssembly-a-atteint-le-milestone-Browser-Preview-et-permet-de-compiler-des-modules-WebAssembly-depuis-des-fichiers-sources-C-C-plusplus/ WebAssembly a atteint le milestone Browser Preview
  3. http://webassembly.org/roadmap/ Plan de développement de WebAssembly
  4. « LIFF + TIC-80 », sur engineering.linecorp.com

Liens externes[modifier | modifier le code]