Las aplicaciones y página Web pronto podrían recibir un impulso de velocidad para competir con el rendimiento de las aplicaciones móviles y de escritorio, gracias a una nueva iniciativa de estándares promovida por Microsoft, Google y Mozilla.
Computerworld | Joab Jackson
La obra, WebAssembly, proporciona una manera de compilar el código fuente de las partes programáticas de las aplicaciones web para que puedan ser procesadas por el navegador de forma más rápida.
“Creo que esta es una buena trayectoria evolutiva de la plataforma web para tratar de llegar a la realización … de las lenguas nativas en los dispositivos móviles“, escribió el analista del desarrollo de software de IDC Al Hilwa, en un correo electrónico. “Es pronto, pero la plataforma Web se está moviendo más rápido que nunca estos días y todo el mundo está prestando más atención a estos acontecimientos.”
La tecnología también podría facilitar una amplia gama de aplicaciones que hasta ahora han sido muy difíciles de ejecutar en la Web, tales como juegos en línea, edición de vídeo y la emulación de aplicaciones de escritorio completas.
Con WebAssembly, los desarrolladores componen la lógica del programa de sus componentes Web utilizando un lenguaje como C o C++, y luego lo compilan en un objeto binario que puede ser ejecutado por el motor de JavaScript en el navegador.
El enfoque de WebAssembly que se da que hasta la fecha, es que la mayoría de la lógica del programa que se ejecuta en un navegador en texto plano. Casi siempre es JavaScript, excepto si está compuesto utilizando plug-ins de terceros tales como Adobe Flash o Microsoft Silverlight.
Los objetos binarios de WebAssembly son más pequeñas tamaño que un código sensillo JavaScript, acelerando así los plazos de entrega. Por ejemplo, cargar el juego Web AngryBots requiere una descarga de aproximadamente 19 MB de codigo en texto plano JavaScript, pero sólo 6.3MB cuando el código se representa de forma binaria.
El motor JavaScript del navegador también puede ejecutar el formato de archivo de objeto con mayor rapidez que el texto plano, lo que acelera aún más los tiempos de renderización.
Como las aplicaciones Web se vuelven más sofisticadas, empresas como Google y Microsoft, entre otras, han estado trabajando tanto para equipar JavaScript para cargas de trabajo más complejas.
Microsoft ha publicado TypeScript, que es un superconjunto de JavaScript que incorpora características avanzadas, tales como tipos estáticos, que hacen más fácil para los desarrolladores para gestionar y perfeccionar bases de código complejo. El Toolkid de Google Web proporciona a los desarrolladores una manera de escribir programas en Java y compilarlos a JavaScript.
Inicialmente, WebAssembly dependerá en gran medida de ASM.js de Mozilla, que es un subconjunto de comandos bajo nivel de JavaScript. Desarrolladores escriben sus programas en C o C ++ y luego usan un compilador para traducirlos en código ASM.js, que es reconocido por todos los navegadores. Se añadirá un soporte para idiomas adicionales de C / C ++ en el futuro.
El desarrollo de WebAssembly se lleva a cabo como un grupo de la comunidad de World Wide Web Consortium (W3C), el cuerpo de estándar para la Web. El trabajo inicial fue hecho en privado por Google, Microsoft y Mozilla en un esfuerzo privado para llegar a un consenso sobre el esquema básico de la tecnología. El equipo de desarrollo ha movido la base de código en un repositorio GitHub abierto.