sábado, 17 de octubre de 2020

¿Qué es WebAssembly?

WebAssembly es un lenguaje de bajo nivel similar a ensamblador. Un conjunto de instrucciones que se almacenan en formato binario y se ejecuta en los principales navegadores. Los responsables del proyecto afirman que el rendimiento es cercano a ejecutar código nativo.

Un poco de historia...
Con el crecimiento de internet, y a pesar que las primeras versiones de javascript no gustaban a la mayoría de los desarrollos, el uso de JavaScript fue aumentando. Técnicas como la compactación de javascript para hacerlo más pequeño y fuese más rápido de cargar se generalizó.

Distintas voces comenzaron a hablar sobre la importancia de JS en el desarrollo web, por ejemplo en 2011 Scott Hanselman escribió el (polémico en su día) post Javascript es el ensamblador de la web

En el 2013 aparece asm.js un subconjunto de operaciones de javascript que permitía compilar a otros lenguajes como C

En el 2019 se cierra la primera versión del standard WebAssembly y es soportado por los 4 navegadores más populares en internet del momento: Chrome, Mozilla, Safari y Explorer.

Al igual que asm.js, si se compila un programa a WebAssembly se podrá ejecutar código en el navegador.

¿Qué significa esta tecnología? 
Esto abre muchas posibilidades, por ejemplo si quieres usar un sqlite en el lado del cliente de una aplicación web puedes hacerlo, pues alguien ha compilado sqlite a wasm. Puedes encontrar las releases aqui

Pero... ¿es cierto que WebAssembly ofrece un rendimiento similar al código nativo? Han portado la demo del Doom3. 

 

No hay comentarios:

Publicar un comentario