Repolode
oneo-me

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. 1

    Verifique os requisitos: macOS com Xcode e Go 1.26 ou posterior

  2. 2

    Adicione a ferramenta nsgo ao seu módulo

    go get -tool github.com/oneo-me/nsgo/cmd/nsgo
  3. 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