WebAssembly podría cambiar la manera en que se programan las apps web. De hecho, podría hacer que la distinción entre apps nativas y web desapareciera.. Pero para que esto pase, debe ser finalizado e implementado. Mozilla ha estado trabajando fuertemente en toda la cadena de la idea de WebAssembly.
A través de WebAssembly se intenta resolver problemas que quizás no se sabe que se tienen. Javascript es para muchos el lenguaje universal de la web, pero es lo suficientemente complejo como para ser rápido y eficiente. Esto en general no es un problema (quizás debido a que las máquinas de ahora son lo suficientemente rápidas), pero si se está escribiendo algún tipo de app web entonces la velocidad podría ser un tema a considerar, especialmente si hay gráficas o animaciones.

Una solución a la problemática de Javascript es la de acelerarlo y para ello puede definirse un subconjunto de funciones que sean lo suficientemente simple para optimizarlo. Sin embargo, esto no es suficiente para muchas aplicaciones. El pasado verano de este año 2015 que ya termina, se lanzó un nuevo proyecto para crear algo que se llamó lenguaje WebAssembly (ensamblador para la web). Este es un lenguaje de bajo nivel que podría ser implementado por los navegadores y entonces, podría permitir acelerar la velocidad en el procesamiento de las aplicaciones. WebAssembly está apoyado por Microsoft, Google y Apple, lo que parece buena noticia pero hoy es el día en que ningún navegador de estas empresas soportan WebAssembly.

Poner WebAssembly en el navegador no es, sin embargo, el único problema. Es un lenguaje de bajo nivel que no va a hacer escrito por seres humanos sino que será generado por los compiladores de otros lenguajes. Esto significa que se requieren los navegadores para que se corran las aplicaciones y las herramientas para poderlas generar.

Hay ya esfuerzos por parte de Mozilla para implementar WebAssembly usando un compilador para asm.js que convierte a WebAssembly en algún momento del proceso y después con otra herramienta, PolyFill, lo pueda ejecutar. Es un poco latoso y francamente tedioso esto pero por el momento es la única manera de hacer que WebAssembly funcione. Realmente lo que se espera es que el próximo año exista un compilador de Javascript a WebAssembly.

Referencias:

Compiling to WebAssembly: It’s Happening!
Github WebAssembly
From ASM.JS to WebAssembly Brendan Eich
i-programmer