WebAssembly, lo último en programación

WebAssembly

WebAssembly, la nueva manera de programar


¿Será que WebAssembly va a sustituir a JavaScript? Esta es una pregunta que se están haciendo muchos de los que están sumergidos en el mundo de la programación. Porque de ser así, habría un cambio de suma importancia en este universo. Y es que como la tecnología no se queda estancada ha creado a WebAssembly, la cual ha superado las expectativas.

Pero, ¿qué es WebAssembly? ¿En realidad va a reemplazar a JavaScript? ¿Será la nueva forma de programar? Las respuestas a estas preguntas puede cambiar todo el ecosistema relacionado a la programación actual.

¿QUÉ ES WEBASSEMBLY?


Su forma abreviada es Wasm, y se le define como un formato, el cual es binario y está comprimido. Este código capaz de ejecutarse en los navegadores más actuales, tiene como objetivo la compilación de aquellos lenguajes de alto nivel, facilitando así la implementación de aplicaciones en la web del lado del cliente.

Dicho en otras palabras, Wasm es la manera en que los desarrolladores pueden hacer aplicaciones de forma más rápida que con JavaScript. De allí, es que surge la idea de que WebAssembly pudiera sustituir a JavaScript, aunque lo cierto es que este estándar no fue creado con ese objetivo.

Más bien, lo que se quería es que ambas tecnologías funcionaran de manera conjunta, complementándose como tal. Por ejemplo, una cuenta con un alto rendimiento y velocidad, como es el caso de Wasm y la otra tiene mucha flexibilidad. Entonces, es posible que pienses que WebAssembly no va a reemplazar a JavaScript, aunque la verdad te puede sorprender, veamos.

¿WEBASSEMBLY PUEDE SUSTITUIR A JAVASCRIPT?


Ahora bien, ¿existe alguna limitación que tenga WebAssembly frente a JavaScript? Aunque Wasm es capaz de ejecutarse en el mismo Sandbox que JavaScript, no ocurre lo mismo frente al Modelo de Objetos del Documento que se abrevia como DOM. El cual, no es más que la estructura del documento en HTML, pero donde WebAssembly no es capaz de acceder. En tal sentido, se sigue requiriendo de la interfaz de usuario de JavaScript.

Esa es la razón por la que se utiliza un compilador JIT (just-in-time), es decir una compilación en tiempo de ejecución. De esa manera que se agrupan o se compilan aquellos códigos bytes, en tiempo de ejecución, a códigos máquinas nativos.

Pero, ¿este panorama podría cambiar? en realidad sí, porque a medida que pasa el tiempo este lenguaje ensamblador supera cada vez más a JavaScript. Veamos como.

¿CUÁL ES LA SOLUCIÓN?


Ahora, ¿qué se necesita para que Wasm se pueda ejecutar en cualquier arquitectura? O ¿que se pueda aplicar en todos los sistemas operativos? La solución sería la presencia de WASI, (WebAssembly System Interface). Que básicamente, es una interfaz de sistema creado especialmente para WebAssembly. Si pudiéramos resumir lo práctico que es WASI para Wasm, serían de la siguiente manera:

  • Conecta a WebAssembly con los lenguajes de programación existentes y con el sistema operativo
  • Permite escribir el código en el lenguaje que prefiera el programador
  • Hace posible la ejecución de Wasm en diferentes plataformas

Esto nos hace llegar la conclusión acertada que WASI, apareció para cambiar el mundo de la programación. Lo que antes parecía una utopía, ahora parece una realidad palpable. Imagina por un momento el escenario, poder escribir un código y que este pueda ejecutarse en cualquier parte. Claro, haciendo uso de un código bytes de bajo nivel y utilizando la máquina virtual.

De momento esto parece una noticia genial, aunque hay que esperar a que se desenvuelva por completo el escenario. Porque el desarrollo de cómo se van a comportar y la implementación de estas bibliotecas no está bien definido todavía.

Mientras tanto, ten la seguridad de que nosotros en Flash Data nos encontramos a la vanguardia de todos los nuevos paradigmas que puedan surgir en la programación. Ya que sabemos que estos cambios pueden mejorar nuestro rendimiento y calidad de trabajo.


Share this post