Framework de Rust para crear aplicaciones web, de escritorio y móviles desde una sola base de código, con componentes similares a los de React y signals.
slint-ui/slint
Slint es un toolkit declarativo de GUI para crear interfaces de usuario nativas en aplicaciones Rust, C++, JavaScript o Python.
- Estrellas
- 24,241
- Forks
- 1,038
- Issues abiertos
- 749
- Último commit
- hace 2 horas
¿Qué es?
Slint permite escribir una interfaz de usuario una sola vez en su propio lenguaje de marcado `.slint` y conectarla con la lógica de negocio escrita en Rust, C++, JavaScript o Python. Los archivos `.slint` se compilan de antemano a código nativo. El proyecto está dirigido a sistemas embebidos, computadoras de escritorio y plataformas móviles, y también ofrece un conjunto de demos web (WebAssembly).
El toolkit separa el diseño de la UI de la lógica de la aplicación, para que diseñadores y desarrolladores puedan trabajar en paralelo. Entre los backends de renderizado se incluyen OpenGL ES 2.0 (femtovg), Skia y un renderizador por software que solo usa la CPU; también se puede usar un estilo de Qt si Qt está instalado. Las herramientas incluyen un servidor LSP con autocompletado y vista previa en vivo, una extensión para Visual Studio Code, una herramienta de línea de comandos `slint-viewer` con recarga automática y un plugin de Figma a Slint.
Slint ofrece una licencia dual: una opción libre de regalías para aplicaciones propietarias de escritorio, móviles o web; una opción GPLv3 para proyectos de código abierto; y una licencia comercial para aplicaciones propietarias embebidas.
Funciones clave
- 01Lenguaje de marcado declarativo `.slint` para describir layouts, propiedades y bindings.
- 02Bindings para Rust, C++, JavaScript y Python.
- 03Compilación anticipada a código nativo.
- 04Varios renderizadores: femtovg (OpenGL ES 2.0), Skia y uno por software (CPU).
- 05Vista previa en vivo, servidor LSP y extensión de VS Code para editar archivos .slint.
- 06Plugin de Figma a Slint para importar diseños.
Casos de uso
- Crear GUI de escritorio o móviles para aplicaciones Rust o C++.
- Crear interfaces de usuario para dispositivos embebidos, como Raspberry Pi o microcontroladores.
- Publicar una UI web compilada a WebAssembly.
- Permitir que diseñadores y desarrolladores trabajen por separado en la UI y la lógica.
Inicio rápido
- 1
Abre el ejemplo Hello World en SlintPad sin instalar nada
- 2
Elige un lenguaje y usa su Getting Started Template, como la plantilla de Rust
- 3
Sigue el README de tu lenguaje para instalar el paquete Slint
Antes de usarlo
- Para usar Slint en aplicaciones propietarias se necesita la licencia libre de regalías o la licencia comercial; la opción GPLv3 se aplica a las aplicaciones de código abierto.
- Los enlaces para JavaScript/NodeJS y Python están marcados como Beta.
Temas
Preguntas frecuentes
- ¿Qué es slint?
- Slint es un toolkit declarativo de GUI para crear interfaces de usuario nativas en aplicaciones Rust, C++, JavaScript o Python. Slint permite escribir una interfaz de usuario una sola vez en su propio lenguaje de marcado `.slint` y conectarla con la lógica de negocio escrita en Rust, C++, JavaScript o Python. Los archivos `.slint` se compilan de antemano a código nativo. El proyecto está dirigido a sistemas embebidos, computadoras de escritorio y plataformas móviles, y también ofrece un conjunto de demos web (WebAssembly).
- ¿slint es gratuito? ¿Qué licencia tiene?
- slint es open source bajo la licencia Other. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿slint sigue mantenido?
- Mantenimiento activo. El último commit de slint fue el 21 oct 2026.
- ¿Para qué puedo usar slint?
- Crear GUI de escritorio o móviles para aplicaciones Rust o C++. Crear interfaces de usuario para dispositivos embebidos, como Raspberry Pi o microcontroladores. Publicar una UI web compilada a WebAssembly. Permitir que diseñadores y desarrolladores trabajen por separado en la UI y la lógica.
- ¿Cómo se instala slint?
- Abre el ejemplo Hello World en SlintPad sin instalar nada Elige un lenguaje y usa su Getting Started Template, como la plantilla de Rust Sigue el README de tu lenguaje para instalar el paquete Slint
- ¿Dónde consigo slint?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/slint-ui/slint
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Una biblioteca de GUI multiplataforma para Rust con un modelo de programación sencillo, seguro en cuanto a tipos e inspirado en Elm.
Una biblioteca de GUI de modo inmediato para Rust, fácil de usar, que funciona en la web y de forma nativa, y puede integrarse en motores de juegos.
Una biblioteca de interfaz gráfica de usuario en C, gratuita y con licencia MIT, para crear interfaces en dispositivos integrados, desde MCU pequeños hasta MPU con Linux.
Framework de UI multiplataforma en C++17, con backends de ventana GLFW/SDL2 y renderizado OpenGL/Vulkan, basado en un DSL declarativo.
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.