Framework Go para criar apps desktop multiplataforma com frontend web (React, Vue, Svelte etc.) usando mecanismos de renderização nativos.
egoist/mygo
Um framework Go para criar apps desktop com frontend web no webview do sistema operacional ou UI nativa renderizada na GPU.
- Estrelas
- 5,015
- Forks
- 303
- Issues abertas
- 100
- Último commit
- há 21 horas
O que é?
MyGo permite criar aplicativos desktop em Go com dois tipos de janela: uma exibe uma página web no webview fornecido pelo sistema operacional (WKWebView no macOS, WebKitGTK no Linux e WebView2 no Windows); a outra usa um toolkit de UI nativa em Go, renderizada pela MyGo na GPU, sem HTML, JavaScript ou webview. Uma mesma janela ou app pode combinar os dois tipos.
Para frontends web, serviços Go são vinculados e expostos por meio de um cliente TypeScript gerado a partir do código Go, com IPC tipado, canais para transmitir valores e eventos tipados. O projeto é escrito em Go puro, sem cgo, então pode ser compilado de forma cruzada em qualquer máquina. As APIs desktop incluem janelas, menus, bandeja do sistema, diálogos, notificações, atalhos globais, deep links, associações de arquivos e cor de destaque do sistema.
O projeto também inclui ferramentas de empacotamento e distribuição: bundles de app, imagens de disco, instaladores do Windows, pacotes Debian, assinatura de código, notarização e atualizações automáticas assinadas com atualizações delta.
Recursos principais
- 01Janelas com páginas web que chamam código Go por meio de um cliente TypeScript gerado.
- 02Toolkit de UI nativa escrito em Go, com layouts flexbox e grid, widgets e listas virtualizadas.
- 03Go puro, sem cgo, permitindo compilações multiplataforma em qualquer máquina.
- 04APIs desktop para menus, bandeja do sistema, diálogos, notificações, atalhos globais e deep links.
- 05Empacotamento e atualizações automáticas assinadas para macOS, Windows e Linux.
Casos de uso
- Criar uma ferramenta desktop quando a equipe quer usar Go tanto na lógica de backend quanto na UI.
- Criar apps leves com UI nativa, que abrem rapidamente e consomem pouca memória.
- Distribuir um app desktop multiplataforma com assinatura de código e atualizações automáticas.
- Adicionar um frontend web com backend em Go a um app desktop usando o webview do sistema.
Início rápido
- 1
Instale Go 1.27.3 ou superior e Bun
- 2
Crie um app de frontend web
bunx mygo-cli init my-app - 3
Acesse a pasta do projeto
cd my-app - 4
Inicie o servidor de desenvolvimento
bun run dev
Antes de usar
- O início rápido requer Go 1.27.3 ou superior e Bun.
Destaque no Repolode Weekly
- Edição 3 · Modelos MoE grandes lidos do SSD e rebuilds de Rust em milissegundos
Framework desktop em Go que deixa escolher entre frontend web no webview do sistema ou UI nativa desenhada na GPU. É Go puro, sem cgo, então dá para fazer build cruzado de qualquer máquina.
Em coleções
Tópicos
Perguntas frequentes
- O que é mygo?
- Um framework Go para criar apps desktop com frontend web no webview do sistema operacional ou UI nativa renderizada na GPU. MyGo permite criar aplicativos desktop em Go com dois tipos de janela: uma exibe uma página web no webview fornecido pelo sistema operacional (WKWebView no macOS, WebKitGTK no Linux e WebView2 no Windows); a outra usa um toolkit de UI nativa em Go, renderizada pela MyGo na GPU, sem HTML, JavaScript ou webview. Uma mesma janela ou app pode combinar os dois tipos.
- mygo é gratuito? Qual é a licença?
- mygo é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
- mygo ainda é mantido?
- Manutenção ativa. O último commit de mygo foi em 6 de nov. de 2026.
- Para que posso usar mygo?
- Criar uma ferramenta desktop quando a equipe quer usar Go tanto na lógica de backend quanto na UI. Criar apps leves com UI nativa, que abrem rapidamente e consomem pouca memória. Distribuir um app desktop multiplataforma com assinatura de código e atualizações automáticas. Adicionar um frontend web com backend em Go a um app desktop usando o webview do sistema.
- Como instalar mygo?
- Instale Go 1.27.3 ou superior e Bun Crie um app de frontend web: bunx mygo-cli init my-app Acesse a pasta do projeto: cd my-app Inicie o servidor de desenvolvimento: bun run dev
- Onde consigo mygo?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/egoist/mygo
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Um toolkit de GUI para Python que renderiza apps com os widgets nativos de cada sistema operacional.
Toolkit em Zig para criar apps desktop com interface nativa renderizada na GPU ou com uma página web no webview do sistema.
Uma pequena biblioteca C/C++ que incorpora uma visualização web nativa em apps para desktop, usando WebKit no Linux e macOS e WebView2 no Windows.
Uma engine em Rust para criar interfaces nativas multiplataforma, com apps em Rust ou TSX renderizados com os widgets de cada plataforma.
Um mecanismo de UI nativa multiplataforma em que a lógica do app roda em Go e cada plataforma renderiza usando suas próprias views nativas.