WebAssembly

WebAssembly
Logo.
Data della prima versione 2015
Paradigma Orientato all'espressione
Sviluppatori Mozilla Foundation , Google , Microsoft , Apple , W3C
Ultima versione 1.1 (9 dicembre 2019)
Digitando statico
Influenzato da asm.js , PNaCl
Licenza Licenza Apache
Sito web [1] , https://github.com/WebAssembly/design
Estensione del file ero e ero

WebAssembly , abbreviato wasm , è uno standard World Wide Web per lo sviluppo di applicazioni . È progettato per integrare JavaScript con prestazioni superiori. Lo standard consiste in un bytecode , la sua rappresentazione testuale e un ambiente di esecuzione in una sandbox compatibile con JavaScript . Può essere eseguito all'interno e all'esterno di un browser web . WebAssembly è standardizzato dal World Wide Web Consortium .

Poiché WebAssembly specifica solo un linguaggio di basso livello , il bytecode viene in genere prodotto compilando un linguaggio di livello superiore . Le prime lingue supportate includono Rust con il progetto/modulo wasm-bindgen (crate) , nonché C e C++ , compilato con Emscripten (basato su LLVM ). Molti altri linguaggi di programmazione oggi hanno un compilatore WebAssembly, tra cui: C# , Go , Java , Lua , Python o Ruby .

I browser Web compilano il bytecode wasm nel linguaggio macchina dell'host su cui vengono utilizzati prima di eseguirlo.

Motori di gioco

Diversi motori di gioco utilizzano WebAssembly per fornire una versione Fast Web dei programmi che li utilizzano.

La sua presentazione ufficiale ha avuto luogo il 17 giugno 2015 e fin dalla sua prima dimostrazione (15 marzo 2016), è possibile giocare a Unity Angry Bots tramite il browser in WebAssembly. Il2 novembre 2016, ha raggiunto la pietra miliare dell'anteprima del browser .

La console fantasy open source TIC-80 dispone anche di una versione WebAssembly.

TinyEMU di Fabrice Bellard (autore anche di QEMU e ffmpeg ) è un emulatore RISC-V leggero, utilizzato per il port di Haiku (remake gratuito di BeOS ). Viene utilizzato in particolare in BareDoom, un port di Doom su RISC-V che utilizza il sistema Barebox minimale . Per la dimostrazione, viene eseguito su TinyEMU ricompilato in WebAssembly per l'esecuzione in un browser.

Note e riferimenti

  1. Versione 1.1  " ,9 dicembre 2019(consultato il 10 dicembre 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 -CC-plusplus / WebAssembly ha raggiunto un traguardo nell'anteprima del browser.
  3. http://webassembly.org/roadmap/ Piano di sviluppo di WebAssembly
  4. "  LIFF + TIC-80  " , su engineering.linecorp.com
  5. (in) "I  miei progressi nel porto di Haiku RISC-V  " su Haiku-os.org
  6. (in) A3F, "  bareDOOM  " su BareDoom su Github

link esterno