La mayoría de los sitios web y aplicaciones web están escritos en JavaScript, o al menos algo que se convierte a JavaScript. Ha habido muchos intentos a lo largo de los años para cambiar eso, pero no espere que JavaScript desaparezca por completo en el corto plazo.
Zaplib es una empresa nueva que creó un marco para reescribir partes de aplicaciones web basadas en JavaScript en el lenguaje de programación Rust, que luego se ejecutaría en navegadores web usando WebAssembly . Rust es un lenguaje de programación de bajo nivel optimizado para el rendimiento y la seguridad, y muchas aplicaciones han utilizado Rust para mejorar significativamente los tiempos de carga y la capacidad de respuesta. Mozilla reescribió el motor CSS en el navegador web Firefox usando Rust en 2017, como parte de la actualización ‘Firefox Quantum’, que duplicó el rendimiento típico de Firefox . WebAssembly permite que los sitios escriban su código en lenguajes de programación más tradicionales, como C++, y lo ejecuten dentro de un navegador web como JavaScript.
Zaplib esperaba que reescribir las aplicaciones web en WebAssembly con tecnología Rust, una sección a la vez, daría como resultado un aumento del rendimiento de hasta 10 veces. Sin embargo, los fundadores de la compañía dijeron en una ‘autopsia’ que los saltos masivos no dieron resultado. “Nuestra apuesta fue que sería 10 veces más ergonómico acelerar su aplicación, de forma incremental, en Rust. Esto no se mantuvo en las implementaciones del mundo real”, dijo el equipo.
El grupo notó algunos problemas con su plan. La mayoría de las empresas dudaban (comprensiblemente) en reescribir su código en un lenguaje con el que sus ingenieros no estaban familiarizados, pero lo que es más importante, no había una diferencia de velocidad significativa entre un buen código JavaScript y un buen código Rust. Zaplib ayudó a una empresa a migrar una herramienta de simulación a Rust, que solo terminó siendo un 5 % más rápida que la versión de JavaScript existente. Zaplib también esperaba que su renderizador 2D acelerado por hardware ayudara, pero la mayor parte del aumento de rendimiento provino de WebGL, que no necesita Rust o WebAssembly en absoluto.
Esto no significa que WebAssembly sea terrible o inútil: tanto Google Earth como Photoshop se trasladaron a los navegadores web gracias a WebAssembly, y empresas como Microsoft están creando marcos para que más desarrolladores hagan la misma transición. Hay absolutamente una razón para que exista, pero JavaScript también ha evolucionado significativamente en los últimos años. El motor ‘V8’ que maneja código JavaScript en Chrome, Microsoft Edge y otros navegadores basados en Chromium es cada vez más rápido. Las optimizaciones recientes convirtieron a Chrome en el navegador web más rápido disponible en Mac , según Google, y otros cambios también han acelerado las versiones de Windows y Android.
WebAssembly ya está trayendo una nueva ola de aplicaciones a la web que no podrían haber existido hace algunos años, pero no espere que todo JavaScript desaparezca pronto. Zaplib dijo en su publicación que «generalmente hay formas más simples de encontrar mejoras de rendimiento que Rust [o WebAssembly]».
Fuente: Zaplib