Publicado em 9 de novembro de 2023. Última atualização: 16 de setembro de 2025
A WebGPU é frequentemente percebida como uma API de gráficos da Web que concede acesso unificado e rápido a GPUs ao expor recursos de hardware de ponta e permitir operações de renderização e computação em uma GPU, semelhante ao Direct3D 12, Metal e Vulkan.
No entanto, a WebGPU transcende os limites de uma mera API JavaScript. Ela é um bloco de construção fundamental semelhante ao WebAssembly, com implicações que vão muito além da Web devido ao seu ecossistema crescente. A equipe do Chrome reconhece o WebGPU como mais do que apenas uma tecnologia da Web. É um ecossistema próspero centrado em uma tecnologia principal.
Conhecer o ecossistema atual
A jornada começa com a especificação JavaScript, um esforço colaborativo que envolve várias organizações, como Apple, Google, Intel, Mozilla e Microsoft. Todos os principais navegadores da Web implementaram ou estão em processo de implementação da WebGPU.
Ao mesmo tempo, a Mozilla e o Google reconheceram o potencial do WebGPU em aplicativos específicos da plataforma e separaram as implementações do WebGPU dos navegadores, permitindo o uso independente.
No Chrome, isso se materializou como Dawn, uma biblioteca C/C++ que traduz chamadas WebGPU em comandos de driver de GPU. O Dawn permite que aplicativos C e C++ usem o WebGPU de forma nativa, oferecendo uma abstração de GPU portátil e ergonômica usando a experiência do fornecedor do navegador.
Conforme demonstrado na postagem do blog WebGPU: a API de gráficos multiplataforma do futuro, é fácil migrar um aplicativo WebGPU específico da plataforma para a Web. O Emscripten, a cadeia de ferramentas WebAssembly em C++, já é compatível com a WebGPU, exigindo apenas modificações mínimas para portar para a Web.
Você também pode executar seu código JavaScript WebGPU fora do navegador com o ambiente de execução JavaScript Node.js, já que ele inclui um módulo WebGPU baseado no Dawn. Ele permite executar seu código sem modificações do lado do servidor ou em outros contextos específicos da plataforma.
Um ecossistema semelhante existe para Rust com wgpu, a implementação do WebGPU pelo Firefox. O Wgpu pode ser integrado diretamente a aplicativos Rust, que podem ser transferidos para a Web usando web-sys. Além disso, o ambiente de execução JavaScript do Deno é compatível com WebGPU usando wgpu. Consulte a postagem do blog sobre a aliança da wgpu com o Deno.
Isso estabelece um ecossistema paralelo entre Rust e C++, como mostrado no diagrama a seguir.

Novos horizontes
O ecossistema WebGPU vai além dos domínios JavaScript, C++ e Rust.
Sua linguagem de programação preferida pode já ter vinculações para WebGPU, já que os engenheiros que trabalham em implementações do WebGPU também estão desenvolvendo um cabeçalho C comum para WebGPU. Isso pode ser usado para segmentar Dawn, wgpu e outros, facilitando a criação de vinculações para linguagens que usam FFI em C.
A equipe do Chrome também está considerando usar o Dawn como o back-end de renderização padrão para todos os elementos da interface do navegador, incluindo menus, barras de ferramentas, ferramentas para desenvolvedores e conteúdo da Web. Isso eliminaria a necessidade de implementações de renderização separadas para cada API nativa, simplificando o processo de desenvolvimento. Esse recurso está em fase experimental no macOS e no Windows, atrás da flag chrome://flags/#skia-graphite
.