Una biblioteca GUI declarativa y nativa, multiplataforma, para crear aplicaciones de escritorio y móviles en Rust.
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
Comprueba los requisitos: macOS con Xcode y Go 1.26 o posterior
- 2
Añade la herramienta nsgo a tu módulo
go get -tool github.com/oneo-me/nsgo/cmd/nsgo - 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
Framework de Python para crear aplicaciones web, de escritorio y móviles con una interfaz basada en Flutter, sin necesidad de experiencia en frontend.
Runtime de UI en TypeScript que renderiza píxeles nativos en dispositivos portátiles, computadoras de escritorio y pantallas integradas, sin DOM ni WebView.
Framework para crear apps nativas de iOS, Android y visionOS con JavaScript o TypeScript, usando directamente la UI y las API nativas.
Kit de herramientas GUI multiplataforma y API para crear aplicaciones de escritorio y móviles con Go desde una sola base de código.
Una biblioteca de Elixir para crear aplicaciones de escritorio nativas con una interfaz declarativa renderizada por el framework GPUI, basado en Rust.