WebAssembly | ||
Data da primeira versão | 2015 | |
---|---|---|
Paradigma | Orientado para expressão | |
Desenvolvedores | Mozilla Foundation , Google , Microsoft , Apple , W3C | |
Última versão | 1,1 (9 de dezembro de 2019) | |
Digitando | estático | |
Influenciado por | asm.js , PNaCl | |
Licença | Licença Apache | |
Local na rede Internet | [1] , https://github.com/WebAssembly/design | |
Extensão de arquivo | wast e wasm | |
WebAssembly , abreviado como wasm , é um padrão da World Wide Web para desenvolvimento de aplicativos . Ele é projetado para complementar o JavaScript com desempenho superior. O padrão consiste em um bytecode , sua representação textual e um ambiente de execução em uma caixa de proteção compatível com JavaScript . Ele pode ser executado dentro e fora de um navegador da web . O WebAssembly é padronizado pelo World Wide Web Consortium .
Como o WebAssembly especifica apenas uma linguagem de baixo nível , o bytecode é geralmente produzido pela compilação de uma linguagem de alto nível . As primeiras linguagens suportadas incluem Rust com o projeto / módulo wasm-bindgen (crate) , bem como C e C ++ , compilado com Emscripten (baseado em LLVM ). Muitas outras linguagens de programação hoje possuem um compilador WebAssembly, entre as quais: C # , Go , Java , Lua , Python ou Ruby .
Os navegadores da Web compilam o bytecode wasm na linguagem de máquina do host em que são usados antes de executá-lo.
Motores de jogo diferentes usam WebAssembly para fornecer uma versão Fast Web dos programas que os usam.
Sua apresentação oficial ocorreu em 17 de junho de 2015 e desde sua primeira demonstração (15 de março de 2016), é possível jogar Unity Angry Bots através do seu navegador no WebAssembly. O2 de novembro de 2016, atingiu o marco da Visualização do navegador .
O console fantasy de código - fonte aberto TIC-80 também apresenta uma versão WebAssembly.
TinyEMU de Fabrice Bellard (também autor de QEMU e ffmpeg ) é um emulador RISC-V leve, usado para o port do Haiku (remake gratuito do BeOS ). É usado notavelmente no BareDoom, uma porta do Doom no RISC-V usando o sistema Barebox mínimo . Para a demonstração, ele é executado no TinyEMU recompilado no WebAssembly para ser executado em um navegador.