/pt-br/projects/glaze.md


Glaze

· github.com/crgimenes/glaze

Glaze é um binding desktop para WebView em Go. É um port em Go puro do webview/webview sobre purego, sem cgo e sem nenhuma biblioteca nativa empacotada junto.

O projeto começou como fork do go-webview, mas divergiu o suficiente para virar codebase separada, com objetivos próprios.

A razão para evitar cgo: arrastar uma toolchain C dentro de um projeto Go só para abrir uma janela com HTML quebra muita coisa que eu valorizo no ecossistema – cross-compile simples, build reprodutível, go install que funciona pra quem clona o repo. A versão antiga embutia a lib C++ do webview compilada e extraía em disco em runtime. Agora cada backend chama, via purego, a WebView que o próprio sistema operacional já fornece: WKWebView no macOS, WebKitGTK no Linux, WebView2 (COM) no Windows. Zero lib nativa no binário.

O que você precisa em runtime é essa WebView estar presente: nada extra no macOS, um WebKitGTK no Linux (GTK4 libwebkitgtk-6.0 ou GTK3 libwebkit2gtk-4.1/4.0, detectado em runtime) e o Edge WebView2 Runtime no Windows (que já vem no 10/11).

O que fica fora do core:

Funciona em Windows, macOS e Linux. Os exemplos no repositório incluem Game of Life, Mandelbrot, Doom Fire, Raycasting e um REPL do Filo.

Artigos do projeto

NameLast modifiedSizeDescription
glaze.md2026-06-22 10:156.0KComo o Glaze deixou de embutir uma lib C++ e passou a chamar a WebView do sistema operacional direto, em Go puro, usando purego para manter cgo e dependências nativas fora do binário.

crg.eti.br · © 2026 Cesar Gimenes · CC BY 4.0 · github · en