Captura el ecosistema de WebGPU

François Beaufort
François Beaufort
Corentin Wallez
Corentin Wallez

Fecha de publicación: 9 de noviembre de 2023; última actualización: 16 de septiembre de 2025

A menudo, WebGPU se percibe como una API de gráficos web que otorga acceso unificado y rápido a las GPU, ya que expone capacidades de hardware de vanguardia y permite operaciones de renderización y procesamiento en una GPU, de forma análoga a Direct3D 12, Metal y Vulkan.

Sin embargo, WebGPU trasciende los límites de una simple API de JavaScript; es un componente fundamental similar a WebAssembly, con implicaciones que se extienden mucho más allá de la Web debido a su floreciente ecosistema. El equipo de Chrome reconoce que WebGPU es más que una tecnología web: es un ecosistema próspero centrado en una tecnología principal.

Explora el ecosistema actual

El recorrido comienza con la especificación de JavaScript, un esfuerzo colaborativo en el que participan numerosas organizaciones, como Apple, Google, Intel, Mozilla y Microsoft. Todos los navegadores web principales implementaron WebGPU o están en proceso de hacerlo.

Al mismo tiempo, Mozilla y Google reconocieron el potencial de WebGPU en aplicaciones específicas de la plataforma y separaron las implementaciones de WebGPU de los navegadores, lo que permitió su uso independiente.

En el caso de Chrome, esto se materializó como Dawn, una biblioteca de C/C++ que traduce las llamadas de WebGPU en comandos del controlador de la GPU. Dawn permite que las aplicaciones en C y C++ usen WebGPU de forma nativa, lo que proporciona una abstracción de GPU portátil y ergonómica con la experiencia de los proveedores de navegadores.

Como se demostró en la entrada de blog WebGPU: la API de gráficos multiplataforma del futuro, portar una aplicación de WebGPU específica de la plataforma a la Web es sencillo. Emscripten, la cadena de herramientas de WebAssembly de C++, ya admite WebGPU, por lo que solo requiere modificaciones mínimas para portarlo a la Web.

También puedes ejecutar tu código de WebGPU en JavaScript fuera del navegador con el tiempo de ejecución de JavaScript de Node.js, ya que incluye un módulo de WebGPU basado en Dawn. Te permite ejecutar tu código sin modificaciones en el servidor o en otros contextos específicos de la plataforma.

Existe un ecosistema similar para Rust con wgpu, la implementación de WebGPU de Firefox. Wgpu se puede integrar directamente en las aplicaciones de Rust, que luego se pueden portar a la Web con web-sys. Además, el entorno de ejecución de JavaScript de Deno admite WebGPU a través de wgpu. Consulta la entrada de blog sobre la alianza de wgpu con Deno.

Esto establece un ecosistema paralelo entre Rust y C++, como se muestra en el siguiente diagrama.

Diagrama del ecosistema de WebGPU en 2023.
Ecosistema de WebGPU en 2023.

Horizontes emergentes

El ecosistema de WebGPU se extiende más allá de los ámbitos de JavaScript, C++ y Rust.

Es posible que tu lenguaje de programación preferido ya tenga vinculaciones para WebGPU, ya que los ingenieros que trabajan en las implementaciones de WebGPU también están desarrollando un encabezado común de C para WebGPU. Esto se puede usar para segmentar Dawn, wgpu y otros, lo que facilita la creación de vinculaciones para lenguajes que usan FFI de C.

El equipo de Chrome también está considerando usar Dawn como backend de renderización predeterminado para todos los elementos de la IU del navegador, incluidos los menús, las barras de herramientas, las Herramientas para desarrolladores y el contenido web. Esto eliminaría la necesidad de implementaciones de renderización separadas para cada API nativa, lo que simplificaría el proceso de desarrollo. Esta función se encuentra en etapa experimental en macOS y Windows detrás de la marca chrome://flags/#skia-graphite.