WebAssembly | ||
![]() | ||
Date de première version | ![]() | |
---|---|---|
Paradigme | Orienté expression | |
Développeurs | Mozilla Foundation,Google,Microsoft,Apple,W3C | |
Dernière version | 2.0 ()[1]![]() | |
Typage | statique | |
Influencé par | asm.js,PNaCl | |
Licence | Licence Apache | |
Site web | [1],https://github.com/WebAssembly/design | |
Extension de fichier | wast et wasm![]() | |
modifier ![]() |
WebAssembly, abrégéWasm, est un standard duWorld Wide Web pour le développement d’applications. Il est conçu pour remplacerJavaScript avec des performances supérieures. Le standard consiste en unbytecode, sa représentation textuelle et unenvironnement d'exécution dans unbac à sable compatible avecJavaScript. Il peut être exécuté dans unnavigateur Web et en dehors. WebAssembly est standardisé dans le cadre duWorld Wide Web Consortium.
Comme WebAssembly ne spécifie qu'unlangage de bas niveau, le bytecode est généralement produit en compilant unlangage de plus haut niveau. Parmi les premiers langages pris en charge figurentRust avec le projet/module (crate)wasm-bindgen ainsi que leC etC++, compilés avecEmscripten (basé surLLVM). De nombreux autres langages de programmation possèdent aujourd'hui un compilateur WebAssembly, parmi lesquels :Ada,C#,Go,Java,Lua,OCaml,Python,Ruby,Fortran ouPascal[2].
Les navigateurs Web compilent le bytecode wasm dans lelangage machine de l'hôte sur lequel ils sont utilisés avant de l'exécuter.
Différentsmoteurs 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 jalonBrowser Preview[3],[4].
Lafantasy console open sourceTIC-80 comporte également une version WebAssembly[5].
TinyEMU deFabrice Bellard (également auteur deQEMU etffmpeg) est un émulateur légerRISC-V, il est utilisé pour le portage deHaiku (remake libre deBeOS)[6]. Il est notamment utilisé dans BareDoom, un port deDoom sur RISC-V utilisant le système minimalBarebox. Pour la démonstration, il fonctionne lui même sur TinyEMU recompilé en WebAssembly pour fonctionner dans un navigateur[7].
Concurrents | |
---|---|
Déclaratifs | |
Fonctionnels | |
Impératifs | |
Orientés objet | |
Acteurs internationaux | |
---|---|
Standards | |
Acteurs nationaux | |
Technologies compatibles | |
Méthodes d'application |
Analyse statique de programmes | ![]() | |
---|---|---|
Compilateur source à source | ||
Concepts | ||
Débogueur | ||
Générateur de documentation | ||
Éditeurs (comparaison (en)) | ||
Moteur | ||
Framework | ||
Technologie associée | ||
Gestionnaire de paquets | ||
Côté serveur | ||
Test unitaire | ||
Personnalité |