title: WebAssembly
text: # WebAssembly
  
  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.
  
  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.
  
  ## Diseño
  
  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.
  
  ## Historia
  
  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.
  
  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)
  
  ## Desarrollo
  
  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, 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.
  
  