jueves, 16 de julio de 2015

Finalmente ¿Llega el reemplazante de JavaScript?

Posted By: Elio Bastias, DevOps - 17:16
Durante años se han cuestionado ciertas características y el funcionamiento de JavaScript. Pero hasta hoy, no había aparecido otra alternativa válida. Hoy, muchos piensan que ha llegado ¿Cuál es el potencial reemplazo de JavaScript? Se trata de un lenguaje de programación que hasta hace poco estaba rodeado de cierto secreto. De hecho, en algunas fuentes se lo define como a un “lenguaje experimental de bajo nivel para el scripting en dispositivos cliente,” como lo son los browsers. WebAssembly o WASM es un bytecode portable diseñado para hacer más veloz que JavaScript en la función de parsing y en la ejecución.


Bytecode, también denominado código portable o p-code, es un set o conjunto de instrucciones diseñadas para una ejecución más eficiente de parte del intérprete de software. A diferencia del código fuente clásico, los bytecodes son códigos numéricos compactos, constantes y referencias (generalmente direcciones numéricas) que codifican los resultados del parsing (podría traducirse como análisis sintáctico), del análisis semántico de elementos como tipos, alcance y profundidad de anidados en objetos de programas. De esta manera, permiten una performance mucho más alta que la de la interpretación directa del código fuente.

Las empresas que apoyan este proyecto, casualmente son tres de las que controlan a los principales browsers del mercado: Mozilla con su Firefox; Microsoft con Internet Explorer y Google con Chrome. Posiblemente esté participando de alguna forma Apple, la dueña de Safari.

WebAssembly, como dijimos antes, se mantuvo bajo cierto secreto y recién ahora aparece a la luz en manos de estos cuatro importantes proveedores del mundo Internet. El anuncio público se realizó una vez que estos competidores llegaron a un cierto punto de consenso. Los proyectos futuros con WebAssembly estarán en manos de W3C (World Wide Web Consortium), la organización de estándares que ya conocemos.

Cómo funciona WebAssembly
WebAssembly hace uso de la tecnología presente en el proyecto de compilador LLVM (Low Level Virtual Architecture) y de asm.js. LLVM es una infraestructura de compilación diseñada como conjunto de librerías reutilizables con sus propias interfaces. Está escrita en C++ y diseñada para funcionar optimizando la actividad de diversos lenguajes de programación en tiempo de compilación, link-time, run-time e iddle-time (tiempos de parada).
Por su parte, asm.js es un lenguaje de programación intermediario y diseñado para que el software escrito en lenguajes como C puedan correr en forma de aplicaciones Web a la vez que logran una performance superior a la del JavaScript estándar.
Se utiliza LLVM y asm.js para compilar código fuente C y C++, de forma que corra en motores JavaScript. Al hacer una pre compilación del código que funciona del lado cliente de la aplicación, permite la optimización de aplicaciones Web y mobile basadas en estándares abiertos. De esa manera, éstas pueden funcionar más velozmente que JavaScript, aun cuando el código en realidad funciona más lentamente que el código nativo puro.

Posibilidades más maduras que las de JavaScript
Entre las ventajas de WebAssembly encontramos a la posibilidad de operar con cargas optimizadas y de menor tamaño, lográndose así menores tiempos de carga . Con la posible apertura de WebAssembly a otros lenguajes como Java y Python, esta optimización puede extenderse. Es deseable que esta evolución de la tecnología de estándares Web abiertos convierta a JavaScript en un protagonista menos importante. Su aparición como componente de los estándares abiertos fue en realidad accidental. Nunca se lo concibió en el papel de un elemento central y presenta algunas deficiencias notorias. Los analistas especializados ven en WebAssembly al remedio para las deficiencias de JavaScript, el que quedaría relegado mayormente a tareas relacionadas con interfaces de usuario.
Como toda innovación, queda por comprobarse si es capaz de entregar todo lo que promete, si bien en principio se presenta como alternativa adecuada para desarrollos nativos en dispositivos móviles. Si Apple se suma activamente al proyecto, muchos especialistas opinan que WebAssembly se convertirá en una alternativa sólida en desarrollo para Web. Los expertos aconsejan tener en cuenta y seguir de cerca la evolución de WebAssembly.

Acerca de Elio Bastias, DevOps

Project Manager de Smart-IT.

0 comentarios:

Publicar un comentario

Ads

Copyright © 2015 All Rights Reserved

Designed by Templatezy