Hasta ahora, el lenguaje de programación por excelencia para escribir aplicaciones en la web ha sido JavaScript, pero sus limitaciones han llevado a la creación de un nuevo tipo de ejecutable.
Este nuevo tipo de binario se desarrollará por el WebAssembly Community Group, una asociación en la que participan Mozilla, Google y Microsoft entre otros. La misión del grupo es promover la colaboración en el desarrollo de este formato de ejecutable que pretende ser portable, de reducido tamaño y rápido de cargar.
El proyecto nace de la unión de otras iniciativas llevadas a cabo por Mozilla (con asm.js) y Microsoft (con TypeScript) que nacieron para superar las limitaciones de JavaScript. El nuevo formato de ejecutable girará en torno al lenguaje de programación C/C++ aunque con el tiempo saldrán compiladores para otros lenguajes.
El objetivo último es que WebAssembly ofrezca la posibilidad de distribuir programas para la web compilados una sola vez y que este nuevo formato se convierta en una norma que implementen todos los navegadores web.
La razón de querer tener el código compilado es que su tamaño se reduce considerablemente y su ejecución se acelera sustancialmente frente a la ejecución de una lista de instrucción de un lenguaje interpretado como JavaScript.
Para dar soporte inicial a WebAssembly, se va a emplear la biblioteca Polyfill que traducirá el código compilado a código en JavaScript que puede interpretar cualquier navegador web. Esto resentirá el rendimiento pero es la única forma de conseguir total compatibilidad. Con el tiempo, el código WebAssembly se ejecutará de forma nativa.
Para conocer más de WebAssemby, puedes visitar su web en w3.org. El código fuente está disponible en GitHub. La descripción de la biblioteca Polyfill está disponible en esta entrada. Vía Techcrunch.