El giro que está dando el mundo informático hacia el software como servicio también simboliza un notable incremento en la cantidad de aplicaciones web. Durante años, JavaScript ha sido una pieza fundamental del proceso, y con cada nuevo desarrollo se fueron creando métodos para evitar o eliminar límites esenciales en el lenguaje. WebAssembly no es más que la continuación de esos métodos, un formato binario (léase bytecode aquí) que promete más de 20 veces el rendimiento actual, llevando a código más veloz y eficiente.
Más de un desarrollador seguramente está dispuesto a jurar una y otra vez sobre las virtudes de JavaScript. Los avances que logró el lenguaje en los últimos años han sido considerables, y si decimos que por mérito propio se transformó en un elemento crítico de los navegadores web actuales, es probable que nos quedemos cortos. Sin embargo… JavaScript no es perfecto, y a medida que los parámetros de eficiencia y rendimiento se vuelven más estrictos, surge la necesidad de cuestionar a nuestras herramientas preferidas. En términos muy sencillos y relajados, uno de los inconvenientes de JavaScript es que se trata de un lenguaje hecho para humanos, al que un sistema debe leer e interpretar antes de poder hacer algo útil con él.
Concedido, JavaScript ofrece un entorno de «caja de arena» seguro para trabajar, y no se encuentra atado a una arquitectura específica como x86 o ARM. Incluso se ha dicho que JavaScript es «el lenguaje ensamblador de la Web», y dado su estado actual, muchos están de acuerdo con esa visión, pero… bytecode. Todos aquellos que han deseado un «bytecode para la Web» durante este tiempo verán sus deseos cumplidos (o eso se cree al menos) a través del proyecto WebAssembly, o «wasm» para abreviar. La iniciativa posee un tamaño considerable, y en ella intervienen ingenieros de Google, Apple, Microsoft y Mozilla, nombres que generalmente suelen estar en esquinas diferentes del mundo digital. El primer paso será cubrir la brecha con un script JavaScript capaz de convertir wasm al popular asm.js de Mozilla, lo que garantiza una capa de compatibilidad entre aquellos navegadores que no soportan (aún) al nuevo formato.
Decir que WebAssembly se encuentra muy verde no es ninguna exageración. Deberá pasar un tiempo antes de que se publiquen sus especificaciones completas, pero el salto potencial en el rendimiento (el primer prototipo es 23 veces más rápido que el análisis típico de código asm.js) hace que valga la pena continuar con este desarrollo.