WebAssembly: La plataforma binaria de Google, Apple, Microsoft y Mozilla

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.

WebAssembly
Algunos de nuestros lectores tal vez recuerden la demo Epic Citadel en asm.js. Los avances han sido enormes… pero WebAssembly promete aún más.

 

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.

Deja tu voto

1 punto
Upvote Downvote

Total votes: 1

Upvotes: 1

Upvotes percentage: 100.000000%

Downvotes: 0

Downvotes percentage: 0.000000%

  • jflores

    me parece una cosa maravillosa que este lenguaje pase al siguiente nivel

  • matz0r

    “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.”

    JavaScript tiene varios inconvenientes (ver https://www.destroyallsoftware.com/talks/wat), pero que “este hecho para humanos” no es uno de ellos, de hecho, es una afirmación bastante discutible.

    De hecho, se podria decir que javascript es un lenguaje bastante eficiente, aunque en realidad, la eficiencia debería atribuirse al engine/VM en la que corre. Por ejemplo, V8 en varios benchmarks llega a superar incluso en C++ (aunque los benchmarks son frios). De hecho, V8 (y la mayoría de los engine javascript) tiene un compilador JIT, que compila javascript a lenguaje máquina.
    Creo que la ventaja de poder correr bytecode directamente contra el browser, es que de una vez por todas vamos a poder elegir que lenguaje usar.

  • FreeLenguage

    No se si las traduccion mal hechas al español corren como la polvora, pero cualquiera que lea está noticia en ingles la idea no es usar javascript ni seguir usandolo, la idea es utilizar directamente otros lenguajes que puedan pasar a bytecode o javascript, directamente salntandonos la gran mierda que es javascript pues es el lenguaje mas feo que existe acualmente y eso lo sabe cualquier ingeniero de software.