Llegamos a ustedes gracias a:



Noticias

La nueva API Google V8 tiende un puente entre WebAssembly y la web asíncrona

[24/01/2023] Los desarrolladores del motor V8 JavaScript/WebAssembly de Google han introducido la API JavaScript Promise Integration (JSPI), que permite a las aplicaciones WebAssembly que asumen que el acceso a la funcionalidad externa es síncrono funcionar sin problemas en entornos asíncronos.

[Reciba lo último de CIO Perú suscribiéndose a nuestro newsletter semanal]

Actualmente en fase experimental, JSPI no debe utilizarse aún en aplicaciones de producción, según los desarrolladores. Con el tiempo, se convertirá en un estándar, para su implementación en los principales navegadores, dijeron.

Presentada en una entrada del blog V8 el 19 de enero, JSPI sirve de puente entre las aplicaciones WebAssembly síncronas y las API web asíncronas. Esto se consigue suspendiendo la aplicación cuando emite una llamada a una API síncrona y reanudándola cuando concluye la operación de E/S asíncrona. Y JSPI lo hace con muy pocos cambios en la propia aplicación.

Muchas API modernas de la web funcionan de forma asíncrona dividiendo la funcionalidad en el inicio y la resolución de una operación. JSPI intercepta la Promise JavaScript devuelta desde una llamada API asíncrona, suspendiendo la lógica principal de la aplicación WebAssembly y devolviendo una Promise de la exportación utilizada para entrar en la aplicación WebAssembly. Cuando la API asíncrona finaliza, la aplicación WebAssembly se reanuda para que pueda procesar los resultados de la llamada a la API.

Trabajar con promesas es difícil, sobre todo con WebAssembly, porque la manipulación directa de las promesas en WebAssembly no es posible, dijeron los desarrolladores. JSPI permite a los desarrolladores crear aplicaciones WebAssembly utilizando API síncronas y seguir participando en el ecosistema asíncrono de la web.

JSPI se está desarrollando en arquitecturas Intel y ARM64. Está disponible para Linux, Windows, macOS y ChromeOS. Los desarrolladores pueden probar JSPI localmente accediendo a chrome://flags en Chrome, buscando "Experimental WebAssembly JavaScript Promise Integration (JSPI)" y marcando la casilla. Se recomienda utilizar el canal Canary de Chrome. JSPI aún no puede habilitarse para los usuarios finales.

WebAssembly ha sido aclamado como un gran avance en el rendimiento de las aplicaciones web. El formato de instrucciones binarias permite utilizar muchos lenguajes de programación diferentes, como C/C++, C# y Rust, para la programación web.