Framework Go para criar apps desktop multiplataforma com frontend web (React, Vue, Svelte etc.) usando mecanismos de renderização nativos.
maxence-charriere/go-app
Pacote Go para criar progressive web apps com WebAssembly e uma interface declarativa baseada em componentes, escrita inteiramente em Go.
- Estrelas
- 8,973
- Forks
- 406
- Issues abertas
- 52
- Último commit
- há 24 horas
O que é?
go-app permite que desenvolvedores criem progressive web apps em Go. A interface é escrita como componentes reutilizáveis que criam e combinam elementos HTML diretamente no código Go, sem precisar de JavaScript separado ou de uma linguagem de templates no front-end. O código Go é compilado para WebAssembly para rodar no navegador.
O pacote segue o modelo padrão de net/http do Go, então um app pode ser servido com http.Handle e http.ListenAndServe, como qualquer outro servidor web em Go. Os apps criados com ele podem rodar em uma janela própria, funcionar offline e são projetados para serem amigáveis a SEO. O roteamento entre componentes é feito com app.Route.
O projeto requer Go 1.18 ou mais recente e é instalado como um módulo Go. O site de documentação em go-app.dev apresenta a sintaxe declarativa e um guia para começar.
Recursos principais
- 01Crie interfaces inteiramente em Go com uma sintaxe declarativa baseada em componentes.
- 02Compile Go para WebAssembly para rodar no navegador.
- 03Segue as interfaces padrão de net/http do Go para servir apps.
- 04Oferece suporte a modo offline e execução em uma janela própria como PWA.
- 05Oferece roteamento entre componentes com app.Route.
Casos de uso
- Criar o front-end de um site ou PWA para uma equipe que prefere escrever tudo em Go.
- Criar apps web instaláveis e capazes de funcionar offline que também precisam ser indexados por mecanismos de busca.
- Compartilhar tipos e lógica Go entre um servidor de back-end e uma interface executada no navegador.
Início rápido
- 1
Inicialize um módulo Go na pasta do seu projeto
go mod init - 2
Instale o pacote go-app
go get -u github.com/maxence-charriere/go-app/v11/pkg/app - 3
Siga o guia Getting Started em go-app.dev para criar seu primeiro app
Tópicos
Perguntas frequentes
- O que é go-app?
- Pacote Go para criar progressive web apps com WebAssembly e uma interface declarativa baseada em componentes, escrita inteiramente em Go. go-app permite que desenvolvedores criem progressive web apps em Go. A interface é escrita como componentes reutilizáveis que criam e combinam elementos HTML diretamente no código Go, sem precisar de JavaScript separado ou de uma linguagem de templates no front-end. O código Go é compilado para WebAssembly para rodar no navegador.
- go-app é gratuito? Qual é a licença?
- go-app é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
- go-app ainda é mantido?
- Manutenção ativa. O último commit de go-app foi em 21 de out. de 2026.
- Para que posso usar go-app?
- Criar o front-end de um site ou PWA para uma equipe que prefere escrever tudo em Go. Criar apps web instaláveis e capazes de funcionar offline que também precisam ser indexados por mecanismos de busca. Compartilhar tipos e lógica Go entre um servidor de back-end e uma interface executada no navegador.
- Como instalar go-app?
- Inicialize um módulo Go na pasta do seu projeto: go mod init Instale o pacote go-app: go get -u github.com/maxence-charriere/go-app/v11/pkg/app Siga o guia Getting Started em go-app.dev para criar seu primeiro app
- Onde consigo go-app?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/maxence-charriere/go-app
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Framework Rust para criar aplicações web interativas no cliente, compiladas para WebAssembly, com uma macro semelhante a JSX para HTML.
Um toolkit de GUI multiplataforma e uma API de apps para Go, para criar apps desktop e mobile com uma única base de código.
Uma implementação de FFmpeg em WebAssembly puro e JavaScript que permite gravar, converter e transmitir vídeo e áudio no navegador.
Um emulador de PC x86 que roda no navegador e traduz código de máquina para WebAssembly em tempo de execução para iniciar sistemas operacionais reais.
Runtime WebAssembly e CLI para executar apps e código de agentes de IA em ambientes rápidos, leves e isolados.