Kit de GUI de escritorio en Rust con más de 75 componentes con estilo para crear aplicaciones multiplataforma con el framework GPUI.
longbridge/nsh
Un motor en Rust para crear interfaces nativas multiplataforma: permite desarrollar apps en Rust o TSX y renderizarlas con los widgets propios de cada plataforma.
- Estrellas
- 518
- Forks
- 31
- Issues abiertos
- 20
- Último commit
- hace 2 horas
¿Qué es?
NSH (Native Shell) es un motor en Rust para crear apps multiplataforma e interfaces generadas con IA. Puedes desarrollar una app en Rust, en TSX o combinando ambos con componentes compartidos. Cada plataforma renderiza la interfaz con su propio toolkit: UIKit en iOS, Android views, AppKit en macOS, Win32 y Direct2D en Windows, GTK 4 en Linux, GPUI para apps de GPUI y HTML en la web.
NSH se puede integrar en una app nativa existente junto con componentes como mapas y vistas web, o empaquetar como una app independiente o un sitio web estático. Los hosts también pueden cargar módulos TSX en tiempo de ejecución como plugins; estos se distribuyen en paquetes firmados y se ejecutan en un sandbox con las capacidades configuradas por el host.
El proyecto incluye un motor reactivo, layouts flexbox y grid, una capa base de componentes UI sin estilos, clases al estilo de Tailwind y una única CLI, `nsh`, para crear, ejecutar y empaquetar apps. Los proyectos TSX admiten actualizaciones en caliente que conservan el estado.
Funciones clave
- 01Desarrolla apps en Rust, TSX o ambos, con un motor reactivo y un sistema de layout compartidos.
- 02Renderiza la interfaz con la UI nativa de cada plataforma: iOS, Android, macOS, Windows, Linux, GPUI y la web.
- 03Se integra en apps nativas existentes o se distribuye como app independiente o sitio web estático.
- 04Carga módulos TSX firmados en tiempo de ejecución dentro de un sandbox configurado por el host.
- 05Incluye una capa base de componentes sin estilos y clases al estilo de Tailwind para crear diseños personalizados.
- 06Ofrece actualizaciones en caliente para TSX y una única CLI, `nsh`, para compilar y empaquetar.
Casos de uso
- Añadir una pantalla con apariencia nativa o un plugin a una app existente de iOS o Android sin reescribirla.
- Distribuir una app desde una única base de código que funcione con widgets nativos en varias plataformas de escritorio y móviles.
- Entregar actualizaciones de UI a una app en ejecución mediante paquetes TSX firmados.
- Generar y ejecutar pantallas creadas con IA usando TSX y clases de Tailwind.
Inicio rápido
- 1
Instalar nsh con Homebrew
brew install longbridge/tap/nsh - 2
Crear una aplicación TSX
nsh init my-app --template ts - 3
Ejecutar la aplicación en macOS
nsh run my-app --target macos
Antes de usarlo
- El proyecto aún está en una versión inicial 0.1.x, por lo que puede haber cambios incompatibles.
- iOS, Android y otros destinos requieren toolchains adicionales, como Xcode o Android SDK.
Temas
Preguntas frecuentes
- ¿Qué es nsh?
- Un motor en Rust para crear interfaces nativas multiplataforma: permite desarrollar apps en Rust o TSX y renderizarlas con los widgets propios de cada plataforma. NSH (Native Shell) es un motor en Rust para crear apps multiplataforma e interfaces generadas con IA. Puedes desarrollar una app en Rust, en TSX o combinando ambos con componentes compartidos. Cada plataforma renderiza la interfaz con su propio toolkit: UIKit en iOS, Android views, AppKit en macOS, Win32 y Direct2D en Windows, GTK 4 en Linux, GPUI para apps de GPUI y HTML en la web.
- ¿nsh es gratuito? ¿Qué licencia tiene?
- nsh es open source bajo la licencia Other. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿nsh sigue mantenido?
- Mantenimiento activo. El último commit de nsh fue el 21 oct 2026.
- ¿Para qué puedo usar nsh?
- Añadir una pantalla con apariencia nativa o un plugin a una app existente de iOS o Android sin reescribirla. Distribuir una app desde una única base de código que funcione con widgets nativos en varias plataformas de escritorio y móviles. Entregar actualizaciones de UI a una app en ejecución mediante paquetes TSX firmados. Generar y ejecutar pantallas creadas con IA usando TSX y clases de Tailwind.
- ¿Cómo se instala nsh?
- Instalar nsh con Homebrew: brew install longbridge/tap/nsh Crear una aplicación TSX: nsh init my-app --template ts Ejecutar la aplicación en macOS: nsh run my-app --target macos
- ¿Dónde consigo nsh?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/longbridge/nsh
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Cliente de escritorio nativo y ligero de Spotify, escrito en Rust, que reproduce música localmente y admite Spotify Connect en Linux, macOS y Windows.
Framework de Rust para crear aplicaciones de escritorio y móviles pequeñas y rápidas con cualquier frontend web, renderizado en el webview del sistema.
Framework de Go para crear aplicaciones de escritorio multiplataforma con una interfaz web (React, Vue, Svelte, etc.) y motores de renderizado nativos.
Biblioteca de Python para crear ventanas PyQt/PySide sin bordes, con barras de título personalizadas, redimensionamiento y efectos de desenfoque nativos en Windows, Linux y macOS.
Aplicación de escritorio remoto de código abierto y autoalojable, escrita en Rust y ofrecida como alternativa a TeamViewer.