Abrir menú principal

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
WebAssembly Logo.png
?
Información general
Extensiones comunes .wast, .wasm
Paradigma Imperativo, no estructurado
Apareció en 2015
Sistema de tipos Estático, fuerte
Influido por asm.js
Licencia Apache License

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]

DiseñoEditar

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.

HistoriaEditar

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]

DesarrolloEditar

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,[8]​ 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.

ReferenciasEditar

  1. «WebAssembly High-Level Goals». GitHub / WebAssembly / design. 11 de diciembre de 2015. 
  2. «Announcing Rust 1.14». The Rust Programming Language Blog. 22 de diciembre de 2016. 
  3. «Go 1.11 is released - The Go Blog». blog.golang.org. 24 ago. 2018. 
  4. «Launch bug». GitHub / WebAssembly / design. 11 de junio de 2015. 
  5. Wagner, Luke (14 de marzo de 2016). «A WebAssembly Milestone: Experimental Support in Multiple Browsers». Mozilla Hacks. 
  6. Thompson, Seth (15 de marzo de 2016). «Experimental support for WebAssembly in V8». V8 Blog. 
  7. Zhu, Limin (15 de marzo de 2016). «Previewing WebAssembly experiments in Microsoft Edge». Microsoft Edge dev blog. 
  8. «WebAssembly/design». GitHub (en inglés). Archivado desde el original el 5 de julio de 2016. Consultado el 8 de abril de 2017.