Repolode
oneo-me

oneo-me/nsgo

Un motor de UI nativa multiplataforma en el que la lógica de la app se ejecuta en Go y cada plataforma dibuja con sus propias vistas nativas.

Estrellas
198
Forks
9
Issues abiertos
1
Último commit
hace 10 horas

¿Qué es?

NSGo permite a los desarrolladores crear interfaces de usuario en Go. La lógica de la aplicación, el grafo reactivo construido con señales, memos y efectos, y la distribución con flexbox o grid se ejecutan en Go, mientras que cada plataforma de destino dibuja con sus propias vistas y texto nativos, en lugar de usar un canvas personalizado. Es un port a Go de Native Shell (NSH), un framework de Rust con el mismo diseño.

El proyecto tiene como destino iOS, Android, macOS, Windows, Linux y la web, y ofrece compatibilidad con texto, imágenes, canvas, shaders, animaciones, servicios y componentes base sin estilos. Las apps se pueden escribir en Go o en TSX con clases de Tailwind CSS. El comando nsgo compila, ejecuta y prueba las apps, con recarga en caliente durante el desarrollo, paquetes de release para cada plataforma y un modo de pruebas headless, además de pruebas con ventanas reales y capturas de pantalla.

El proyecto está en una fase temprana y todavía no tiene una versión estable ni una API estable. También permite integrar vistas de NSGo en apps existentes para iOS, Android o escritorio escritas en Go.

Funciones clave

  • 01Estado reactivo con señales, memos y efectos, escrito en Go
  • 02Distribución con flexbox y grid, renderizada con las vistas nativas de cada plataforma
  • 03Compatible con iOS, Android, macOS, Windows, Linux y la web
  • 04Las apps se pueden escribir en TSX con clases de Tailwind CSS
  • 05Pruebas headless y pruebas con ventanas reales y capturas de pantalla
  • 06Recarga en caliente durante el desarrollo y empaquetado de release para cada plataforma

Casos de uso

  • Crear una app multiplataforma en Go que tenga un aspecto nativo en cada plataforma
  • Integrar una UI creada con Go en una app existente para iOS, Android o escritorio
  • Equipos que quieran usar el modelo de NSH sin escribir en Rust

Inicio rápido

  1. 1

    Comprueba los requisitos: macOS con Xcode y Go 1.26 o posterior

  2. 2

    Añade la herramienta nsgo a tu módulo

    go get -tool github.com/oneo-me/nsgo/cmd/nsgo
  3. 3

    Ejecuta la aplicación una vez con el comando dev

    go tool nsgo dev

Antes de usarlo

  • NSGo está en una fase inicial y todavía no tiene una versión publicada ni una API estable.
  • El desarrollo requiere macOS con Xcode para usar el conjunto completo de destinos.
  • Algunos destinos necesitan herramientas adicionales, como adb para Android o un Android NDK para el emulador x86_64.

En colecciones

Temas

Preguntas frecuentes

¿Qué es nsgo?
Un motor de UI nativa multiplataforma en el que la lógica de la app se ejecuta en Go y cada plataforma dibuja con sus propias vistas nativas. NSGo permite a los desarrolladores crear interfaces de usuario en Go. La lógica de la aplicación, el grafo reactivo construido con señales, memos y efectos, y la distribución con flexbox o grid se ejecutan en Go, mientras que cada plataforma de destino dibuja con sus propias vistas y texto nativos, en lugar de usar un canvas personalizado. Es un port a Go de Native Shell (NSH), un framework de Rust con el mismo diseño.
¿nsgo es gratuito? ¿Qué licencia tiene?
nsgo es open source bajo la licencia Other. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿nsgo sigue mantenido?
Mantenimiento activo. El último commit de nsgo fue el 6 nov 2026.
¿Para qué puedo usar nsgo?
Crear una app multiplataforma en Go que tenga un aspecto nativo en cada plataforma Integrar una UI creada con Go en una app existente para iOS, Android o escritorio Equipos que quieran usar el modelo de NSH sin escribir en Rust
¿Cómo se instala nsgo?
Comprueba los requisitos: macOS con Xcode y Go 1.26 o posterior Añade la herramienta nsgo a tu módulo: go get -tool github.com/oneo-me/nsgo/cmd/nsgo Ejecuta la aplicación una vez con el comando dev: go tool nsgo dev
¿Dónde consigo nsgo?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/oneo-me/nsgo

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados