2 pontos por GN⁺ 2025-11-07 | 1 comentários | Compartilhar no WhatsApp
  • Uma coleção com diversos exemplos de aplicativos baseados em terminal (TUI) criados com o framework Ratatui
  • Inclui apps para vários usos, como monitoramento de sistema, navegação de arquivos, análise de rede e visualização de dados
  • Entre os exemplos em destaque estão Atuin (gerenciamento do histórico do shell), GitUI (interface para Git), Oatmeal (chat com LLM) e Yazi (gerenciador de arquivos)
  • Cada projeto foi escrito na linguagem Rust e oferece link para o GitHub e imagens de demonstração
  • Uma coletânea de casos que mostra a escalabilidade e a praticidade do desenvolvimento de interfaces de terminal no ecossistema Rust

Visão geral

  • A página App Showcase do Ratatui lista aplicativos reais de interface de usuário em terminal (TUI) desenvolvidos com Ratatui
  • Cada item é composto por link para o repositório no GitHub, breve descrição e imagem ou GIF de demonstração
  • Há mais de 27 projetos no total, cobrindo uma ampla variedade que vai de ferramentas de sistema a jogos, IA e gerenciamento de dados

Lista principal de aplicativos

Atuin

  • Substitui o histórico tradicional do shell por um banco de dados SQLite e registra contexto adicional ao executar comandos

Bandwhich

  • Utilitário CLI que mostra o uso de rede por processo, conexão e IP/host remoto

Binsider

  • Ferramenta para fazer análise de binários no terminal

Bottom

  • Monitor de sistema multiplataforma que visualiza o uso de recursos como CPU e memória

Crossword

  • Jogo para resolver palavras cruzadas no terminal

Csvlens

  • Visualizador dedicado para arquivos CSV, semelhante ao comando less, mas otimizado para a estrutura de CSV

Dua

  • Ferramenta de análise de espaço em disco com processamento paralelo, com função de exclusão rápida

Fzf-make

  • Ferramenta CLI que executa alvos do make usando um fuzzy finder

GitUI

  • Interface TUI em Rust para operações com Git

Gpg-tui

  • Interface de terminal para GnuPG

Joshuto

  • Gerenciador de arquivos no estilo Ranger, escrito em Rust

Material

  • Paleta de cores Material Design para terminal

Minesweep-rs

  • Jogo Campo Minado escrito em Rust

Oatmeal

  • Aplicativo de chat no terminal para conversar com LLMs, com suporte a backends ChatGPT ou Ollama
    • Inclui recursos como comandos com barra, interface com bolhas de conversa e integração com Neovim

Oha

  • Envia carga para aplicações web e mostra os resultados em uma TUI em tempo real

Oxker

  • TUI para controle e monitoramento de contêineres Docker

OpenAPI-tui

  • Ferramenta para consultar rapidamente documentação OpenAPI no terminal

Rainfrog

  • Ferramenta de terminal leve para interação com banco de dados

Rucola

  • Oferece gerenciamento de notas em Markdown e conversão para HTML

Scope-tui

  • Implementa funções de osciloscópio, vetorscópio e espectroscópio no terminal

Slumber

  • Executa um cliente HTTP/REST no terminal

Steer

  • Agente de programação com IA para desenvolvimento local e automação

Taskwarrior-tui

  • Interface de terminal da ferramenta de gerenciamento de tarefas Taskwarrior

Television

  • Buscador baseado em algoritmo de fuzzy matching, com suporte à exploração de várias fontes de dados como arquivos, Git e variáveis de ambiente

Trippy

  • Ferramenta de diagnóstico de rede que combina traceroute e ping

Xplr

  • Explorador de arquivos TUI rápido e hackeável

Yazi

  • Gerenciador de arquivos ultrarrápido com I/O assíncrono, escrito em Rust

Yozefu

  • TUI interativa para explorar dados de clusters Kafka
    • Suporte a filtragem detalhada com uma linguagem de consulta semelhante a SQL
    • Alternativa ao AKHQ, Redpanda Console e plugin Kafka da JetBrains

Importância do ecossistema Ratatui

  • Todos os apps foram criados com base no framework Ratatui, mostrando a diversidade e a maturidade do desenvolvimento de interfaces de terminal no ambiente Rust
  • Cada projeto é disponibilizado como repositório open source no GitHub, podendo ser consultado diretamente por desenvolvedores
  • Isso sugere que o Ratatui está se consolidando como a ferramenta padrão para desenvolvimento de CLI/TUI em Rust

1 comentários

 
GN⁺ 2025-11-07
Comentários do Hacker News
  • É interessante como hoje em dia há muitos TUIs feitos em Rust
    Os que eu conheço são Awesome TUIs, terminaltrove e a lista awesome do Ratatui

    • Hoje em dia quase não existem boas plataformas de GUI para desktop, então o terminal acabou se tornando um ambiente mais atraente
      Qt e GTK são grandes demais, o Windows muda com frequência, e eu não quero lidar com Electron
      A qualidade dos terminais melhorou bastante nos últimos tempos, então ficou muito mais fácil criar aplicativos pequenos
      A analogia de que é mais fácil fazer algo legal com LEGO do que esculpir em argila cai perfeitamente aqui
    • As bibliotecas de TUI abstraem muito bem a complexidade de baixo nível da renderização no terminal, então agora o terminal parece mais uma tela dentro da IDE
      Ao visualizar o estado dos dados, não é preciso montar um pipeline de renderização de navegador
      Como referência, há esta imagem de exemplo
    • TUIs em sua maioria são cross-platform e podem ser usadas direto no terminal, então há menos troca de contexto
      Terminais modernos como Ghostty, WezTerm, Kitty, iTerm e Alacritty oferecem aceleração por GPU e suporte a cores de 24 bits
      Além disso, hoje os desenvolvedores usam mais ferramentas como Claude Code, Gemini CLI e Codex no terminal do que na IDE
    • Para desenvolvedores que passaram muito tempo sofrendo com interfaces web ruins, TUI é uma alternativa refrescante
      Há muitas limitações, mas por isso mesmo também é mais difícil criar uma UI toda bagunçada
      Funciona muito bem para softwares de complexidade simples a média. Como exemplo, recomendo o Midnight Commander
    • Para mim, TUI é uma rota de fuga do mundo das GUIs excessivamente desenhadas de hoje
      Trabalhar com designers está parecendo cada vez mais burocrático e ineficiente
      TUI força interfaces limpas, com alta densidade de informação e pouco espaço em branco desnecessário
  • TUI está em alta em Rust porque a situação das GUIs é muito ruim
    Dá para ver isso nesta pesquisa sobre bibliotecas GUI em Rust
    Eu gostaria de usar Qt com Rust, mas não quero QML, Slint, GTK nem UI de modo imediato
    Seria realmente uma pena se algo como Qt nunca surgisse em Rust

    • Na verdade, quem faz TUI em Rust faz isso simplesmente porque gosta de TUI
      O Ratatui é um framework tão prazeroso de usar que isso independe da falta de GUI
    • GUI traz um peso grande em qualquer linguagem com coisas como testes, acessibilidade e i18n
      Quando CLI não basta, mas uma GUI completa é exagero, TUI preenche muito bem esse meio-termo
    • O motivo de frameworks GUI tradicionais serem difíceis em Rust é a estrutura de referências cíclicas
      As referências de pai/filho entre janela-contêiner-botão entram em conflito com o modelo de ownership do Rust
      O mecanismo de signal-slot do Qt também é complicado de implementar em Rust
    • Eu também sinto que o ecossistema de GUI em Rust é difícil
      A maior parte dos crates de que eu precisava estava em WIP ou abandonada
      Tirando alguns crates grandes e populares, a documentação fica no nível de “veja a documentação em C++”
      Isso acontece em parte porque Rust ainda é uma linguagem jovem, mas acho que o problema maior é a falta de disposição da comunidade para manter pacotes
    • Como referência, o Zed é um editor GUI feito em Rust
      Mas não tenho certeza se a parte de GUI foi implementada só em Rust
  • Estou esperando um navegador web TUI que me permita viver completamente dentro do terminal
    Com tecnologias como sixel ou shaders, ele poderia até suportar gráficos, então parece bem viável fora a parte de vídeo
    Bloquear anúncios seria fácil, então as empresas talvez odiassem isso, mas talvez desse para vender a ideia se fosse embalado como navegador para LLM

    • Mas eu realmente não entendo por que seria necessário fazer isso
      O terminal é um buffer de caracteres de baixa resolução, então renderização em pixels com aceleração por GPU é simplesmente muito mais eficiente
    • Existe um projeto chamado Browsh
      Ele roda o Firefox em modo headless e renderiza o resultado como ASCII no terminal. É bem legal
    • Eu uso bastante o Chawan. É muito bom
    • Na verdade, isso já era possível desde os anos 90
      Lynx e w3m são os exemplos clássicos
    • Não é Rust, mas nimwave também vale a pena ver
  • Quero apresentar meu visualizador de Markdown mdfried
    A legibilidade do Markdown puro é boa, mas achei mais confortável ver no navegador, então criei um visualizador que renderiza os cabeçalhos como imagens
    É preciso configurar a fonte uma vez, e ele também suporta imagens inline
    Agora ele consegue renderizar direto sem converter em imagem, usando o protocolo text-sizing do Kitty

    • Projeto realmente muito legal. Só que o Ghostty ainda não parece implementar esse protocolo
  • O Teletekst da Holanda oferece uma interface via SSH
    Segundo esta matéria, ele foi feito com Ratatui e pode ser acessado com ssh teletekst.nl

  • Testei um app pequeno feito com Ratatui e fiquei surpreso ao ver o uso de CPU chegar a 8% só com entrada de texto simples
    Isso aconteceu mesmo usando o exemplo oficial exatamente como está

    • Perguntaram se não estava sendo executado em build de debug. cargo run usa o modo debug por padrão
  • Quero integrar meu projeto open source TironCalc ao repositório principal ironcalc
    Acho que é um bom projeto para trabalhar com Rust e Ratatui
    Mas depois de ver o projeto edit da Microsoft, já não tenho certeza se Ratatui é mesmo a melhor opção

  • Quero apresentar meu jogo TUI baseado em Ratatui rebels-in-the-sky

    • Testei o jogo e gostei muito. Tem uma sensação de simulador de futebol clássico como Hattrick, mas com uma estética mais refinada
      Só que o vídeo no repositório não abre no meu dispositivo
    • A arte é muito boa. No GitHub o vídeo não renderizou, então tive que baixar o mp4 diretamente
    • A descrição “jogo P2P de basquete de piratas espaciais ambientado na galáxia” é realmente marcante
  • Achei o título da postagem meio estranho
    Pensei que seria um texto sobre a revolução do TUI em Rust, mas na verdade era uma coletânea de apps feitos com Ratatui

    • Na verdade, talvez quisesse dizer que esse crate em si é a causa do boom de TUI em Rust
      No ecossistema Go, o Charm cumpre um papel parecido
    • O título foi corrigido. Pelas diretrizes do HN, a regra é manter o título original e só alterá-lo quando houver risco de confusão
    • O Ratatui já é um projeto relativamente antigo e é a primeira ferramenta que procuro quando quero criar um TUI complexo
    • Agora eu também fiquei com vontade de procurar outras alternativas ou diferenciais
  • Sinto que está cada vez mais necessário ter utilitários para rodar agentes baseados em CLI por pasta no terminal
    Por exemplo, isso poderia ser usado para automatizar verificações de compliance legal

    • Os principais agentes de programação já oferecem modo CLI
      Há várias opções, como Cline CLI, Opencode CLI, Codex CLI, Gemini CLI e Claude Code CLI