Biblioteca de GUI declarativa, nativa e multiplataforma para criar apps desktop e mobile em Rust.
oneo-me/nsgo
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.
- Estrelas
- 194
- Forks
- 7
- Issues abertas
- 1
- Último commit
- há 23 horas
O que é?
O NSGo permite criar interfaces de usuário em Go. A lógica da aplicação, o grafo reativo construído com signals, memos e effects, e os layouts flexbox ou grid rodam em Go, enquanto cada plataforma de destino renderiza usando suas próprias views e textos nativos, em vez de um canvas personalizado. É um port para Go do Native Shell (NSH), um framework em Rust com o mesmo design.
O projeto tem como alvo iOS, Android, macOS, Windows, Linux e web, e inclui suporte a texto, imagens, canvas, shaders, animações, serviços e componentes básicos sem estilo. Os apps podem ser escritos em Go ou em TSX com classes do Tailwind CSS. O comando nsgo compila, executa e testa apps, com hot reload durante o desenvolvimento, pacotes de release por plataforma e um modo de teste headless, além de testes com janelas reais e capturas de tela.
O projeto ainda está em estágio inicial e não tem uma versão nem uma API estáveis. Também é possível incorporar views do NSGo em apps existentes para iOS, Android ou desktop em Go.
Recursos principais
- 01Estado reativo com signals, memos e effects, escrito em Go
- 02Layouts flexbox e grid renderizados com as views nativas de cada plataforma
- 03Tem como alvo iOS, Android, macOS, Windows, Linux e web
- 04Os apps podem ser escritos em TSX com classes do Tailwind CSS
- 05Testes headless e testes com janelas reais e capturas de tela
- 06Hot reload durante o desenvolvimento e empacotamento de release por plataforma
Casos de uso
- Criar um app multiplataforma em Go com aparência nativa em cada plataforma
- Incorporar uma UI criada em Go a um app existente para iOS, Android ou desktop
- Equipes que querem usar o modelo do NSH sem escrever em Rust
Início rápido
- 1
Verifique os requisitos: macOS com Xcode e Go 1.26 ou posterior
- 2
Adicione a ferramenta nsgo ao seu módulo
go get -tool github.com/oneo-me/nsgo/cmd/nsgo - 3
Execute o app uma vez com o comando dev
go tool nsgo dev
Antes de usar
- O NSGo ainda está em estágio inicial e não tem uma versão lançada nem uma API estável.
- O desenvolvimento requer macOS com Xcode para usar o conjunto completo de destinos.
- Alguns destinos precisam de ferramentas adicionais, como adb para Android ou um Android NDK para o emulador x86_64.
Em coleções
Tópicos
Perguntas frequentes
- O que é nsgo?
- 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. O NSGo permite criar interfaces de usuário em Go. A lógica da aplicação, o grafo reativo construído com signals, memos e effects, e os layouts flexbox ou grid rodam em Go, enquanto cada plataforma de destino renderiza usando suas próprias views e textos nativos, em vez de um canvas personalizado. É um port para Go do Native Shell (NSH), um framework em Rust com o mesmo design.
- nsgo é gratuito? Qual é a licença?
- nsgo é open source sob a licença Other. Confira os termos da licença antes de usá-lo em produtos comerciais.
- nsgo ainda é mantido?
- Manutenção ativa. O último commit de nsgo foi em 5 de nov. de 2026.
- Para que posso usar nsgo?
- Criar um app multiplataforma em Go com aparência nativa em cada plataforma Incorporar uma UI criada em Go a um app existente para iOS, Android ou desktop Equipes que querem usar o modelo do NSH sem escrever em Rust
- Como instalar nsgo?
- Verifique os requisitos: macOS com Xcode e Go 1.26 ou posterior Adicione a ferramenta nsgo ao seu módulo: go get -tool github.com/oneo-me/nsgo/cmd/nsgo Execute o app uma vez com o comando dev: go tool nsgo dev
- Onde consigo nsgo?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/oneo-me/nsgo
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Framework Python para criar apps web, desktop e mobile com interface baseada em Flutter, sem precisar de experiência com frontend.
Runtime de UI em TypeScript que renderiza pixels nativos em dispositivos portáteis, desktops e telas embarcadas, sem DOM nem WebView.
Framework para criar apps nativos para iOS, Android e visionOS com JavaScript ou TypeScript, usando diretamente a UI e as APIs nativas.
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 biblioteca Elixir para criar aplicativos desktop nativos com UI declarativa renderizada pelo framework GPUI, baseado em Rust.