2 puntos por GN⁺ 2025-11-07 | 1 comentarios | Compartir por WhatsApp
  • Una colección de diversos ejemplos de aplicaciones basadas en terminal (TUI) creadas con el framework Ratatui
  • Incluye apps para distintos usos como monitoreo del sistema, exploración de archivos, análisis de red y visualización de datos
  • Entre los ejemplos destacados se presentan Atuin (gestión del historial del shell), GitUI (interfaz para Git), Oatmeal (chat con LLM) y Yazi (administrador de archivos)
  • Cada proyecto está escrito en Rust e incluye enlace a GitHub e imágenes de demostración
  • Una recopilación de casos que muestra la escalabilidad y utilidad del desarrollo de interfaces de terminal en el ecosistema de Rust

Resumen general

  • La página App Showcase de Ratatui enumera aplicaciones reales de interfaz de usuario de terminal (TUI) desarrolladas con Ratatui
  • Cada entrada incluye un enlace al repositorio de GitHub, una breve descripción y una imagen o GIF de demostración
  • Incluye más de 27 proyectos, con un rango amplio que va desde herramientas de sistema hasta juegos, IA y gestión de datos

Lista principal de aplicaciones

Atuin

  • Reemplaza el historial tradicional del shell con una base de datos SQLite y registra contexto adicional al ejecutar comandos

Bandwhich

  • Utilidad CLI que muestra el uso de red por proceso, conexión e IP/host remoto

Binsider

  • Herramienta para realizar análisis binario desde la terminal

Bottom

  • Monitor de sistema multiplataforma que visualiza el uso de recursos como CPU y memoria

Crossword

  • Juego para disfrutar crucigramas en la terminal

Csvlens

  • Visor especializado en archivos CSV, similar al comando less, pero optimizado para la estructura CSV

Dua

  • Herramienta de análisis de espacio en disco basada en procesamiento en paralelo, con función de borrado rápido

Fzf-make

  • Herramienta CLI para ejecutar objetivos de make usando un fuzzy finder

GitUI

  • Interfaz TUI basada en Rust para trabajar con Git

Gpg-tui

  • Interfaz de terminal para GnuPG

Joshuto

  • Administrador de archivos estilo Ranger, escrito en Rust

Material

  • Paleta de colores Material Design para terminal

Minesweep-rs

  • Juego Buscaminas escrito en Rust

Oatmeal

  • App de chat en terminal para conversar con LLM, con soporte para backends de ChatGPT u Ollama
    • Incluye funciones como comandos slash, UI con burbujas de chat e integración con Neovim

Oha

  • Envía carga a aplicaciones web y muestra los resultados en una TUI en tiempo real

Oxker

  • TUI para controlar y monitorear contenedores Docker

OpenAPI-tui

  • Herramienta para consultar rápidamente documentación OpenAPI desde la terminal

Rainfrog

  • Herramienta ligera de terminal para interactuar con bases de datos

Rucola

  • Ofrece funciones de gestión de notas Markdown y conversión a HTML

Scope-tui

  • Implementa funciones de osciloscopio, vectorscopio y espectroscopio en la terminal

Slumber

  • Ejecuta un cliente HTTP/REST en la terminal

Steer

  • Agente de codificación con IA para desarrollo local y automatización

Taskwarrior-tui

  • Interfaz de terminal para la herramienta de gestión de tareas Taskwarrior

Television

  • Buscador basado en algoritmos de coincidencia difusa, con soporte para explorar múltiples fuentes de datos como archivos, Git y variables de entorno

Trippy

  • Herramienta de diagnóstico de red que combina funciones de traceroute y ping

Xplr

  • Explorador de archivos TUI rápido y hackeable

Yazi

  • Administrador de archivos ultrarrápido basado en I/O asíncrona, escrito en Rust

Yozefu

  • TUI interactiva para explorar datos de clústeres Kafka
    • Permite filtrado detallado con un lenguaje de consultas similar a SQL
    • Alternativa a AKHQ, Redpanda Console y el plugin de Kafka de JetBrains

Importancia del ecosistema Ratatui

  • Todas las apps están construidas sobre el framework Ratatui, mostrando la diversidad y madurez del desarrollo de interfaces de terminal en el entorno Rust
  • Cada proyecto está publicado como repositorio open source en GitHub, por lo que los desarrolladores pueden consultarlos directamente
  • Esto sugiere que Ratatui se está consolidando como una herramienta estándar para el desarrollo de CLI/TUI en Rust

1 comentarios

 
GN⁺ 2025-11-07
Opiniones de Hacker News
  • Es interesante que últimamente haya tantos TUI hechos en Rust
    Los que conozco son Awesome TUIs, terminaltrove y la lista awesome de Ratatui

    • Últimamente casi no hay buenas plataformas GUI de escritorio, así que la terminal se ha vuelto un entorno más atractivo
      Qt o GTK son demasiado grandes, Windows cambia seguido y no dan ganas de lidiar con Electron
      La calidad de las terminales ha mejorado recientemente, así que es mucho más fácil crear apps pequeñas
      La comparación de que es más fácil hacer algo genial con LEGO que esculpir con arcilla le queda perfecta
    • Las librerías TUI abstraen muy bien la complejidad de bajo nivel del renderizado en terminal, así que ahora la terminal se siente como un lienzo dentro del IDE
      No hace falta construir un pipeline de renderizado del navegador para visualizar el estado de los datos
      Como referencia, está esta imagen de ejemplo
    • La mayoría de los TUI son multiplataforma y se pueden usar directamente dentro de la terminal, así que hay menos cambio de contexto
      Terminales modernas como Ghostty, WezTerm, Kitty, iTerm y Alacritty soportan aceleración por GPU y color de 24 bits
      Además, hoy en día los desarrolladores usan más herramientas como Claude Code, Gemini CLI y Codex dentro de la terminal que en el IDE
    • Para los desarrolladores que han sufrido durante años con interfaces web malas, los TUI son una alternativa fresca
      Tienen muchas limitaciones, pero precisamente por eso también es más difícil crear una UI desastrosa
      Encajan muy bien para software de complejidad simple a media. Recomiendo Midnight Commander como ejemplo
    • Para mí, los TUI son una vía de escape del mundo actual de GUI sobre diseñadas
      Colaborar con diseñadores se siente cada vez más burocrático e ineficiente
      Los TUI fuerzan interfaces limpias con alta densidad de información y poco espacio en blanco innecesario
  • La razón por la que los TUI están de moda en Rust es que la situación de las GUI es muy mala
    Eso se puede ver en la encuesta sobre librerías GUI de Rust
    Yo quisiera usar Qt en Rust, pero no quiero QML, Slint, GTK ni UI de modo inmediato
    Sería realmente una pena que no surgiera algo tipo Qt en Rust

    • En realidad, la gente que hace TUI en Rust los hace simplemente porque le gustan los TUI
      Ratatui es un framework tan disfrutable de usar que no tiene nada que ver con la ausencia de GUI
    • Las GUI, en cualquier lenguaje, traen la carga de pruebas, accesibilidad e i18n
      Cuando un CLI se queda corto pero una GUI completa resulta excesiva, un TUI llena muy bien ese punto intermedio
    • La razón por la que los frameworks GUI tradicionales son difíciles en Rust es la estructura de referencias circulares
      Las referencias padre/hijo entre ventana-contenedor-botón chocan con el modelo de ownership de Rust
      El mecanismo de signal-slot de Qt también es complicado de implementar en Rust
    • Yo también siento que el ecosistema GUI de Rust está pasando por un mal momento
      La mayoría de los crates que necesitaba estaban en estado WIP o abandonados
      Fuera de unos pocos crates grandes y populares, la documentación estaba al nivel de “mira la documentación de C++”
      Es cierto que Rust todavía es un lenguaje joven, pero me parece que el problema mayor es la falta de entusiasmo por mantener paquetes en la comunidad
    • Como referencia, Zed es un editor GUI hecho en Rust
      Aun así, no está claro si la parte GUI está implementada únicamente en Rust
  • Estoy esperando un navegador web TUI que me permita vivir por completo dentro de la terminal
    Con tecnologías como sixel o shaders también se pueden soportar gráficos, así que salvo por el video, parece bastante posible
    Como bloquear anuncios sería fácil, tal vez a las empresas no les guste, pero si se vende como navegador para LLM quizá se les pueda convencer

    • Pero no sé por qué habría que hacerlo así
      La terminal es un buffer de caracteres de baja resolución, así que un renderizado de píxeles acelerado por GPU es simplemente mucho más eficiente
    • Existe un proyecto llamado Browsh
      Ejecuta Firefox en modo headless y renderiza el resultado en ASCII en la terminal. Está bastante genial
    • Yo uso mucho Chawan. Está bastante bien
    • En realidad ya era posible desde los 90
      Lynx y w3m son ejemplos representativos
    • No es Rust, pero nimwave también vale la pena revisar
  • Quiero presentar mi visor de Markdown mdfried
    La legibilidad del Markdown en texto plano es buena, pero como es más cómodo verlo en el navegador, hice un visor que renderiza los encabezados como imágenes
    Hay que configurar la fuente una vez, y también soporta imágenes inline
    Ahora aprovecha el protocolo de text-sizing de Kitty para renderizar directamente sin convertir a imágenes

    • Es un proyecto realmente genial. Aunque parece que Ghostty todavía no implementa ese protocolo
  • El Teletekst de los Países Bajos ofrece una interfaz por SSH
    Según este artículo, fue hecho con Ratatui y se puede acceder con ssh teletekst.nl

  • Probé una app pequeña hecha con Ratatui y me sorprendió que el uso de CPU subiera hasta 8% solo con una entrada de texto simple
    Pasó incluso usando el ejemplo oficial tal cual

    • Le preguntan si acaso lo ejecutó en un build de debug. cargo run usa modo debug por defecto
  • Quiero integrar mi proyecto open source TironCalc en el repositorio principal ironcalc
    Me parece un buen proyecto para trabajar con Rust y Ratatui
    Pero después de ver el proyecto edit de Microsoft, ya no estoy seguro de que Ratatui sea la mejor opción

  • Quiero presentar mi juego TUI basado en Ratatui rebels-in-the-sky

    • Probé el juego y de verdad me encantó. Tiene una vibra de simulador clásico de fútbol como Hattrick, pero con una estética más refinada
      Eso sí, el video del repositorio no se abre en mi dispositivo
    • El arte está buenísimo. En GitHub el video no se renderizó, así que tuve que descargar el mp4 directamente
    • La descripción de “juego P2P de basquetbol de piratas espaciales ambientado en la galaxia” es realmente impactante
  • Siento que el título de la publicación es un poco raro
    Pensé que sería un artículo sobre la revolución TUI en Rust, pero en realidad era una recopilación de apps hechas con Ratatui

    • En realidad, probablemente quería decir que este crate en sí fue la causa del boom TUI en Rust
      Charm en el ecosistema Go cumple un papel parecido
    • El título fue corregido. Según las reglas de HN, la idea es mantener el título original y cambiarlo solo cuando pueda llevar a confusión
    • Ratatui es un proyecto bastante antiguo y es la primera herramienta que busco cuando quiero crear un TUI complejo
    • A mí también ya me dieron ganas de explorar otras alternativas o diferencias
  • Siento que cada vez hacen más falta utilidades para ejecutar agentes basados en CLI por carpeta dentro de la terminal
    Por ejemplo, podrían usarse para automatizar verificaciones de cumplimiento legal

    • Los principales agentes de programación ya soportan modo CLI
      Hay varios: Cline CLI, Opencode CLI, Codex CLI, Gemini CLI y Claude Code CLI