De acuerdo con la Wikipedia, WebAssembly (abreviado como wasm), es un formato de código binario portátil (bytecode) para la ejecución de scripts en el navegador (del lado del cliente). Hablamos pues de un lenguaje de bajo nivel, diseñado inicialmente como formato destino en la compilación desde C y C++.
La cuestión es si esta idea de programar “en bajo nivel” puede cambiar la manera en como se hacen aplicaciones web. Hay ejemplos interesantes de ello, como WebSight, que corre unas 20 veces más rápido que Javascript en la detección de rostros y además, es el doble de rápido que asm.js.
Es claro que Javascript es un lenguaje con sus complicaciones y no es fácil implementarlo de forma que sea rápido y eficiente, limitando de alguna manera lo que se puede hacer en el navegador, que de alguna manera es digamos, la plataforma donde se ejecuta dicho código. Mozilla implementó asm.js como un subconjunto de Javascript estándar pata optimizar los programas, eliminando de alguna manera los problemas de velocidad, pero no parece ser suficiente en algunas aplicaciones.
Por ello, en los últimos dos años, con el apoyo de Microsoft, Google y Apple, así como Mozilla, WebAssembly (WASM) se convirtió en un lenguaje intermedio que puede ser procesado por Javascript, el cual sigue estando en desarrollo.
WebAssembly, el siguiente paso para acelerar la web
Tomemos entonces el caso de WebSight.js, un proyecto de Brian Feldman, Debra Do, Yervant Bastikian y Mark Romano, que sirve para demostrar las capacidades de WebAssembly comparado con asm.js y Javascript. El proyecto …