WebAssembly | ||
Data primei versiuni | 2015 | |
---|---|---|
Paradigmă | Orientat spre expresie | |
Dezvoltatori | Fundația Mozilla , Google , Microsoft , Apple , W3C | |
Ultima versiune | 1.1 (9 decembrie 2019) | |
Tastare | static | |
Influențată de | asm.js , PNaCl | |
Licență | Licență Apache | |
Site-ul web | [1] , https://github.com/WebAssembly/design | |
Extensie de fișier | wast și wasm | |
WebAssembly , prescurtat wasm , este un standard World Wide Web pentru dezvoltarea aplicațiilor . Este conceput pentru a completa JavaScript cu performanțe superioare. Standardul constă dintr-un bytecode , reprezentarea sa textuală și un mediu de execuție într-un sandbox compatibil JavaScript . Poate fi rulat în interiorul și în afara unui browser web . WebAssembly este standardizat în World Wide Web Consortium .
Deoarece WebAssembly specifică numai un limbaj de nivel scăzut , codul secundar este de obicei produs prin compilarea unui limbaj de nivel superior . Primele limbi acceptate includ Rust cu proiectul / modulul wasm-bindgen (ladă) , precum și C și C ++ , compilate cu Emscripten (bazat pe LLVM ). Multe alte limbaje de programare au astăzi un compilator WebAssembly, printre care: C # , Go , Java , Lua , Python sau Ruby .
Browserele web compilează bytecode-ul wasm în limba mașinii gazdei pe care sunt utilizate înainte de al rula.
Diferite motoare de joc folosesc WebAssembly pentru a oferi o versiune web rapidă a programelor care le utilizează.
Prezentarea sa oficială a avut loc pe 17 iunie 2015 și de la prima demonstrație (15 martie 2016), este posibil să jucați Unity Angry Bots prin browserul dvs. în WebAssembly. 2 noiembrie 2016, a atins punctul de reper al previzualizării browserului .
Consola fantasy open source TIC-80 are, de asemenea, o versiune WebAssembly.
TinyEMU de Fabrice Bellard (de asemenea autor al QEMU și ffmpeg ) este un emulator ușor RISC-V, este folosit pentru portul Haiku (remake gratuit al BeOS ). Este utilizat în special în BareDoom, un port Doom pe RISC-V care utilizează sistemul Barebox minim . Pentru demonstrație, acesta rulează pe TinyEMU recompilat în WebAssembly pentru a rula într-un browser.