WebAssembly, abreviado wasm, es un formato de código binario portable (bytecode), para la ejecución íntegra en navegador de scripts de lado del cliente.
WebAssembly | ||
---|---|---|
World Wide Web Consortium, Mozilla, Microsoft, Google y Apple https://webassembly.org/ | ||
Información general | ||
Extensiones comunes | .wast, .wasm | |
Paradigma | Imperativo, no estructurado | |
Apareció en | 2015 | |
Diseñado por | World Wide Web Consortium | |
Sistema de tipos | Estático, fuerte | |
Influido por | asm.js | |
Licencia | licencia Apache | |
Se trata de un lenguaje de bajo nivel, diseñado inicialmente como formato destino en la compilación desde C y C++. Aunque también soporta código fuente de otros lenguajes, como Rust y Go.[1][2][3]
WebAssembly se concibe como una máquina de pila portable, diseñado así para procesarse sintácticamente más rápido que Javascript, y mejorar su velocidad de ejecución.
WebAssembly fue anunciado el 17 de junio de 2015. El 15 de marzo de 2016 se hizo una demo ejecutando Unity's Angry Bots en Firefox, Chromium, Google Chrome, y Microsoft Edge.[4][5][6][7]
En el 2019 se crea la empresa Bytecode Alliance la cual tiene por objetivo fomentar el uso del lenguaje y fomentar bases sólidas para no solo maquetar aplicaciones móviles, sino llevar su uso diferentes estándares de desarrollo; celulares y computadoras de escritorio, así como a navegadores (Edge y Safari)[8]
La implementación inicial de soporte para WebAssembly en navegadores se basará en los formatos asm.js, soportado por Mozilla, y PNaCl (Portable Native Client), propuesto por Google. Tras sacar una versión MVP se plantea incorporar recolección de basura,[9] lo que permitirá a lenguajes con este sistema, tales como Java o C# compilarse generando código wasm.
El equipo implicado en el desarrollo de WebAssembly incluye personas vinculadas a Mozilla, Microsoft, Google o Apple.