Saltar al contenido principal

Vista previa del navegador WebAssembly

· 3 min de lectura
el equipo de V8

Hoy nos complace anunciar, junto con Firefox y Edge, una vista previa para navegador de WebAssembly. WebAssembly o Wasm es un nuevo tiempo de ejecución y destino de compilación para la web, diseñado por colaboradores de Google, Mozilla, Microsoft, Apple y el Grupo Comunitario de WebAssembly del W3C.

¿Qué marca este hito?

Este hito es significativo porque marca:

  • una versión candidata para nuestro diseño MVP (producto mínimo viable) (incluyendo semántica, formato binario y API de JS)
  • implementaciones compatibles y estables de WebAssembly detrás de una bandera en el trunk en V8 y SpiderMonkey, en builds de desarrollo de Chakra y en progreso en JavaScriptCore
  • una cadena de herramientas funcional para que los desarrolladores compilen módulos de WebAssembly a partir de archivos de origen en C/C++
  • una hoja de ruta para lanzar WebAssembly activado por defecto, a menos que haya cambios basados en los comentarios de la comunidad

Puedes leer más sobre WebAssembly en el sitio del proyecto y seguir nuestra guía para desarrolladores para probar la compilación de WebAssembly desde C y C++ usando Emscripten. Los documentos de formato binario y API de JS describen la codificación binaria de WebAssembly y el mecanismo para instanciar módulos de WebAssembly en el navegador, respectivamente. Aquí tienes un ejemplo rápido para mostrar cómo se ve Wasm:

Una implementación de la función Máximo Común Divisor en WebAssembly, mostrando los bytes en bruto, el formato de texto (WAST) y el código fuente en C.

Dado que WebAssembly todavía está detrás de una bandera en Chrome (chrome://flags/#enable-webassembly), aún no se recomienda para uso en producción. Sin embargo, el período de Vista Previa del Navegador marca un momento durante el cual estamos recogiendo activamente comentarios sobre el diseño e implementación de la especificación. Se anima a los desarrolladores a probar la compilación, portado y ejecución de aplicaciones en el navegador.

V8 sigue optimizando la implementación de WebAssembly en el compilador TurboFan. Desde marzo pasado, cuando anunciamos por primera vez el soporte experimental, hemos añadido soporte para la compilación paralela. Además, estamos a punto de completar una línea de asm.js alternativa que convierte asm.js a WebAssembly bajo el capó, para que los sitios existentes en asm.js puedan beneficiarse de la compilación anticipada de WebAssembly.

¿Qué sigue?

Salvo cambios importantes en el diseño derivados de los comentarios de la comunidad, el Grupo Comunitario de WebAssembly planea producir una especificación oficial en el primer trimestre de 2017, momento en el cual se alentará a los navegadores a activar WebAssembly por defecto. A partir de ese punto, el formato binario se restablecerá a la versión 1 y WebAssembly será sin versión, probado por características y compatible con versiones anteriores. Se puede encontrar una hoja de ruta más detallada en el sitio del proyecto WebAssembly.