Una biblioteca de Go con widgets interactivos listos para usar —formularios, tablas, árboles, listas y áreas de texto— para crear interfaces de usuario en terminal.
ArthurSonzogni/FTXUI
Biblioteca de C++ basada en headers para crear interfaces de usuario de terminal con un estilo funcional y basado en componentes, sin dependencias externas.
- Estrellas
- 10,829
- Forks
- 628
- Issues abiertos
- 34
- Último commit
- hace 13 horas
¿Qué es?
FTXUI es una biblioteca de C++ para crear interfaces de usuario de terminal. Permite describir diseños como un árbol de elementos combinados con funciones como hbox, vbox y gridbox, y los muestra en la terminal. Incluye componentes interactivos como botones, menús, campos de entrada, controles deslizantes, casillas de verificación y menús desplegables, que responden a eventos de teclado, mouse y cambio de tamaño.
La biblioteca está organizada en tres módulos: screen, para la representación de bajo nivel de colores y caracteres; dom, para el diseño y los estilos; y component, para la interacción del usuario y el bucle principal de eventos. Admite UTF-8 y caracteres de ancho completo, colores, decoraciones de texto, dibujo en canvas con caracteres braille o de bloques y animaciones. No tiene dependencias y se puede integrar mediante CMake FetchContent, Bazel, Meson, vcpkg, Conan o como una compilación amalgamada de un solo header; también admite módulos de C++20. Es compatible con Linux y macOS, WebAssembly y Windows.
Funciones clave
- 01API funcional basada en componentes para componer diseños y widgets interactivos
- 02Navegación con teclado y mouse, con widgets integrados como menús, campos de entrada y controles deslizantes
- 03Diseño flexible con hbox, vbox, gridbox y flexbox
- 04Dibujo en canvas con caracteres braille, de bloques o simples
- 05Compatibilidad con UTF-8 y caracteres de ancho completo, sin dependencias externas
Casos de uso
- Crear herramientas interactivas de línea de comandos con menús, formularios o paneles
- Desarrollar juegos de terminal o visualizaciones animadas en modo texto
- Crear monitores del sistema o visores de logs que se adapten al tamaño de la terminal
Inicio rápido
- 1
Añade FTXUI a tu proyecto de C++ con CMake FetchContent, el método recomendado en el README
- 2
Incluye el encabezado <ftxui/ftxui.hpp> y enlaza el destino de CMake ftxui::ftxui
Antes de usarlo
- Los principales sistemas objetivo son Linux y macOS; la compatibilidad con Windows depende de las contribuciones.
Temas
Preguntas frecuentes
- ¿Qué es FTXUI?
- Biblioteca de C++ basada en headers para crear interfaces de usuario de terminal con un estilo funcional y basado en componentes, sin dependencias externas. FTXUI es una biblioteca de C++ para crear interfaces de usuario de terminal. Permite describir diseños como un árbol de elementos combinados con funciones como hbox, vbox y gridbox, y los muestra en la terminal. Incluye componentes interactivos como botones, menús, campos de entrada, controles deslizantes, casillas de verificación y menús desplegables, que responden a eventos de teclado, mouse y cambio de tamaño.
- ¿FTXUI es gratuito? ¿Qué licencia tiene?
- FTXUI es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿FTXUI sigue mantenido?
- Mantenimiento activo. El último commit de FTXUI fue el 21 oct 2026.
- ¿Para qué puedo usar FTXUI?
- Crear herramientas interactivas de línea de comandos con menús, formularios o paneles Desarrollar juegos de terminal o visualizaciones animadas en modo texto Crear monitores del sistema o visores de logs que se adapten al tamaño de la terminal
- ¿Cómo se instala FTXUI?
- Añade FTXUI a tu proyecto de C++ con CMake FetchContent, el método recomendado en el README Incluye el encabezado <ftxui/ftxui.hpp> y enlaza el destino de CMake ftxui::ftxui
- ¿Dónde consigo FTXUI?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/ArthurSonzogni/FTXUI
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Un crate de Rust para crear interfaces de usuario de terminal (TUI) con widgets reutilizables y un modelo de renderizado sencillo.
Framework de Python para crear interfaces de usuario para terminal y web con una API sencilla basada en componentes.
Salvapantallas de terminal escrito en Go que se inicia cuando la shell queda inactiva y muestra escenas animadas como constelaciones, lluvia y partículas.
Aplicación del tiempo para terminal escrita en Rust que muestra las condiciones en tiempo real mediante animaciones ASCII de lluvia, nieve y tormentas eléctricas.
Una biblioteca multiplataforma de Go para crear dashboards personalizables y redimensionables, y widgets interactivos en la terminal.