2 Punkte von GN⁺ 2025-11-07 | 1 Kommentare | Auf WhatsApp teilen
  • Eine Sammlung verschiedener terminalbasierter Anwendungen (TUI), die mit dem Ratatui-Framework erstellt wurden
  • Enthält Apps für unterschiedlichste Einsatzzwecke wie Systemüberwachung, Dateinavigation, Netzwerkanalyse und Datenvisualisierung
  • Als prominente Beispiele werden Atuin (Shell-Historienverwaltung), GitUI (Git-Oberfläche), Oatmeal (LLM-Chat) und Yazi (Dateimanager) vorgestellt
  • Jedes Projekt wurde in der Programmiersprache Rust geschrieben und bietet GitHub-Links sowie Demo-Bilder
  • Eine Beispielsammlung, die Skalierbarkeit und Praxistauglichkeit der Terminal-UI-Entwicklung im Rust-Ökosystem zeigt

Überblick

  • Die App-Showcase-Seite von Ratatui listet reale Anwendungen mit Terminal User Interface (TUI) auf, die mit Ratatui entwickelt wurden
  • Jeder Eintrag besteht aus einem Link zum GitHub-Repository, einer kurzen Beschreibung sowie Demo-Bildern oder GIFs
  • Insgesamt sind mehr als 27 Projekte enthalten, mit einer breiten Spanne von Systemtools über Spiele und KI bis hin zu Datenmanagement

Liste wichtiger Anwendungen

Atuin

  • Ersetzt die bestehende Shell-Historie durch eine SQLite-Datenbank und zeichnet beim Ausführen von Befehlen zusätzlichen Kontext auf

Bandwhich

  • Ein CLI-Dienstprogramm, das den Netzwerkverbrauch nach Prozess, Verbindung und entfernter IP/Host anzeigt

Binsider

  • Ein Tool zur Binäranalyse im Terminal

Bottom

  • Ein plattformübergreifender Systemmonitor, der die Auslastung von CPU, Arbeitsspeicher und anderen Ressourcen visualisiert

Crossword

  • Ein Spiel, mit dem man Kreuzworträtsel im Terminal spielen kann

Csvlens

  • Ein Viewer speziell für CSV-Dateien, ähnlich dem Befehl less, aber für die CSV-Struktur optimiert

Dua

  • Ein Tool zur Analyse des Speicherplatzverbrauchs auf Basis paralleler Verarbeitung mit schneller Löschfunktion

Fzf-make

  • Ein CLI-Tool, das mit einem Fuzzy Finder make-Targets ausführt

GitUI

  • Eine Rust-basierte TUI-Oberfläche für Git-Arbeiten

Gpg-tui

  • Eine Terminal-Oberfläche für GnuPG

Joshuto

  • Ein Dateimanager im Ranger-Stil, geschrieben in Rust

Material

  • Eine Material-Design-Farbpalette für das Terminal

Minesweep-rs

  • Ein in Rust geschriebenes Minesweeper-Spiel

Oatmeal

  • Eine Terminal-Chat-App für Gespräche mit LLMs, mit Unterstützung für ChatGPT- oder Ollama-Backends
    • Enthält Slash-Befehle, eine Chat-Bubble-UI und Neovim-Integration

Oha

  • Sendet Last an Webanwendungen und zeigt die Ergebnisse in einer Echtzeit-TUI an

Oxker

  • Eine TUI zur Steuerung und Überwachung von Docker-Containern

OpenAPI-tui

  • Ein Tool, mit dem sich OpenAPI-Dokumentation schnell im Terminal durchsuchen lässt

Rainfrog

  • Ein leichtgewichtiges Terminal-Tool zur Interaktion mit Datenbanken

Rucola

  • Bietet Verwaltung von Markdown-Notizen und Umwandlung in HTML

Scope-tui

  • Implementiert Oszilloskop-, Vektorskop- und Spektroskop-Funktionen im Terminal

Slumber

  • Führt einen HTTP/REST-Client im Terminal aus

Steer

  • Ein KI-Coding-Agent für lokale Entwicklung und Automatisierung

Taskwarrior-tui

  • Eine Terminal-Oberfläche für das Aufgabenmanagement-Tool Taskwarrior

Television

  • Ein Suchtool auf Basis von Fuzzy-Matching-Algorithmen, das verschiedene Datenquellen wie Dateien, Git und Umgebungsvariablen durchsuchen kann

Trippy

  • Ein Netzwerkdiagnose-Tool, das Traceroute- und Ping-Funktionen kombiniert

Xplr

  • Ein schneller und hackbarer TUI-Dateibrowser

Yazi

  • Ein in Rust geschriebener ultraschneller Dateimanager auf Basis asynchroner I/O

Yozefu

  • Eine interaktive TUI zur Erkundung von Daten in Kafka-Clustern
    • Unterstützt fein abgestufte Filterung mit einer SQL-ähnlichen Abfragesprache
    • Eine Alternative zu AKHQ, Redpanda Console und dem JetBrains-Kafka-Plugin

Bedeutung des Ratatui-Ökosystems

  • Alle Apps basieren auf dem Ratatui-Framework und zeigen die Vielfalt und Reife der Terminal-UI-Entwicklung im Rust-Umfeld
  • Jedes Projekt ist als Open-Source-GitHub-Repository veröffentlicht und kann von Entwicklerinnen und Entwicklern direkt als Referenz genutzt werden
  • Das deutet darauf hin, dass sich Ratatui als Standardwerkzeug für CLI-/TUI-Entwicklung auf Rust-Basis etabliert

1 Kommentare

 
GN⁺ 2025-11-07
Hacker-News-Kommentare
  • Es ist interessant, dass es in letzter Zeit so viele mit Rust gebaute TUIs gibt
    Mir fallen Awesome TUIs, terminaltrove und die Awesome-Liste von Ratatui ein

    • Heutzutage gibt es kaum noch gute Desktop-GUI-Plattformen, daher ist das Terminal eher zur attraktiveren Umgebung geworden
      Qt und GTK sind zu groß, Windows ändert sich ständig, und mit Electron möchte ich mich nicht herumschlagen
      Terminals sind in letzter Zeit qualitativ viel besser geworden, sodass es deutlich einfacher ist, kleine Apps zu bauen
      Der Vergleich passt gut: Es ist leichter, etwas Cooles aus LEGO zu bauen, als aus Ton zu modellieren
    • TUI-Bibliotheken abstrahieren die Low-Level-Komplexität des Terminal-Renderings so gut, dass sich das Terminal inzwischen wie eine Canvas innerhalb der IDE anfühlt
      Wenn man Datenzustände visualisieren will, muss man keine Browser-Rendering-Pipeline aufbauen
      Als Referenz gibt es dieses Beispielbild
    • TUIs sind meist plattformübergreifend und können direkt im Terminal genutzt werden, wodurch es weniger Kontextwechsel gibt
      Moderne Terminals wie Ghostty, WezTerm, Kitty, iTerm und Alacritty unterstützen GPU-Beschleunigung und 24-Bit-Farben
      Außerdem nutzen Entwickler heute im Terminal häufiger Tools wie Claude Code, Gemini CLI und Codex als klassische IDEs
    • Für Entwickler, die lange unter schlechten Web-Interfaces gelitten haben, sind TUIs eine erfrischende Alternative
      Es gibt viele Einschränkungen, aber gerade dadurch ist es auch schwerer, völlig chaotische UIs zu bauen
      Für Software mit einfacher bis mittlerer Komplexität passt das wirklich gut. Als Beispiel würde ich Midnight Commander empfehlen
    • Für mich sind TUIs ein Ausweg aus der heutigen überdesignten GUI-Welt
      Die Zusammenarbeit mit Designern wirkt zunehmend bürokratisch und ineffizient
      TUIs erzwingen klare Interfaces mit hoher Informationsdichte und wenig unnötigem Leerraum
  • Der Grund, warum TUIs in Rust so populär sind, ist, dass die GUI-Situation schlicht miserabel ist
    Das sieht man in dieser Umfrage zu Rust-GUI-Bibliotheken
    Ich würde Qt gern in Rust verwenden, aber QML, Slint, GTK oder Immediate-Mode-UIs will ich nicht
    Es wäre wirklich schade, wenn es in Rust nichts gäbe, das Qt nahekommt

    • Tatsächlich bauen Leute TUIs in Rust einfach, weil sie TUIs mögen
      Ratatui ist ein so angenehmes Framework, dass das nichts mit dem Fehlen von GUIs zu tun haben muss
    • GUIs bringen in jeder Sprache großen Aufwand bei Tests, Accessibility und i18n mit sich
      Wenn eine CLI nicht reicht, aber eine vollständige GUI zu viel wäre, füllt eine TUI genau diese Lücke gut aus
    • Der Grund, warum traditionelle GUI-Frameworks in Rust schwierig sind, liegt an zyklischen Referenzstrukturen
      Eltern-/Kind-Referenzen zwischen Fenster, Container und Button kollidieren mit Rusts Ownership-Modell
      Auch Qts Signal-Slot-Mechanismus ist in Rust schwer sauber umzusetzen
    • Ich habe auch das Gefühl, dass das GUI-Ökosystem in Rust schwierig ist
      Die meisten Crates, die ich brauchte, waren entweder WIP oder vernachlässigt
      Abgesehen von ein paar populären großen Crates ist die Dokumentation oft auf dem Niveau von „Siehe die C++-Doku“
      Das liegt teils daran, dass Rust noch eine junge Sprache ist, aber das größere Problem scheint mir mangelnde Pflegebereitschaft bei Paketen in der Community zu sein
    • Als Referenz: Zed ist ein in Rust gebauter GUI-Editor
      Ich bin mir aber nicht sicher, ob der GUI-Teil ausschließlich in Rust implementiert ist
  • Ich warte auf einen TUI-Webbrowser, der es mir erlaubt, vollständig im Terminal zu leben
    Mit Technologien wie sixel oder Shadern wäre auch Grafikunterstützung möglich, daher sollte das abgesehen von Videos durchaus machbar sein
    Werbeblocking wäre dann so einfach, dass Unternehmen das vielleicht hassen würden, aber wenn man es als Browser für LLMs verkauft, könnte es vielleicht überzeugen

    • Ich verstehe allerdings nicht, warum man das überhaupt tun sollte
      Das Terminal ist ein Textpuffer mit niedriger Auflösung, da ist GPU-beschleunigtes Pixel-Rendering einfach viel effizienter
    • Es gibt ein Projekt namens Browsh
      Es lässt Firefox headless laufen und rendert das Ergebnis als ASCII im Terminal. Ziemlich cool
    • Ich nutze oft Chawan. Das ist ziemlich ordentlich
    • Eigentlich war das schon in den 90ern möglich
      Lynx und w3m sind typische Beispiele
    • Nicht in Rust, aber auch nimwave ist einen Blick wert
  • Ich möchte meinen Markdown-Viewer mdfried vorstellen
    Markdown ist im Rohtext gut lesbar, aber im Browser angenehmer anzusehen, deshalb habe ich einen Viewer gebaut, der Header als Bilder rendert
    Man muss die Schrift einmal konfigurieren, und Inline-Bilder werden ebenfalls unterstützt
    Inzwischen kann dank Kittys text-sizing protocol direkt gerendert werden, ohne Bilder umwandeln zu müssen

    • Wirklich ein tolles Projekt. Allerdings scheint Ghostty dieses Protokoll noch nicht implementiert zu haben
  • Das niederländische Teletekst bietet ein SSH-Interface an
    Laut diesem Artikel wurde es mit Ratatui gebaut und ist über ssh teletekst.nl erreichbar

  • Ich habe eine kleine mit Ratatui gebaute App getestet und war überrascht, dass allein bei einfacher Texteingabe die CPU-Auslastung auf 8 % hochging
    Das war sogar mit dem offiziellen Beispielcode so

    • Jemand fragt, ob es vielleicht nicht als Debug-Build lief. cargo run ist standardmäßig der Debug-Modus
  • Ich möchte mein Open-Source-Projekt TironCalc in das Haupt-Repository ironcalc integrieren
    Ich denke, es ist ein gutes Projekt, um mit Rust und Ratatui zu arbeiten
    Allerdings bin ich mir nicht mehr sicher, ob Ratatui wirklich die beste Wahl ist, nachdem ich das edit-Projekt von Microsoft gesehen habe

  • Ich möchte mein auf Ratatui basierendes TUI-Spiel rebels-in-the-sky vorstellen

    • Ich habe das Spiel ausprobiert und es gefällt mir wirklich sehr. Es hat etwas vom Flair klassischer Fußballsimulationen wie Hattrick, wirkt aber stilvoller
      Allerdings lässt sich das Video im Repository auf meinem Gerät nicht öffnen
    • Das Artwork ist großartig. Auf GitHub wurde das Video bei mir nicht gerendert, daher musste ich die mp4 direkt herunterladen
    • Die Beschreibung „ein P2P-Basketballspiel mit Weltraumpiraten vor galaktischer Kulisse“ ist wirklich beeindruckend
  • Ich finde den Titel des Posts etwas seltsam
    Ich dachte, es ginge um die TUI-Revolution in Rust, tatsächlich war es aber eine Sammlung von mit Ratatui gebauten Apps

    • Gemeint war wohl eher, dass genau diese Crate der Auslöser des TUI-Booms in Rust war
      In der Go-Welt übernimmt Charm eine ähnliche Rolle
    • Der Titel wurde inzwischen geändert. Laut HN-Richtlinien sollte der Originaltitel beibehalten und nur bei Irreführung angepasst werden
    • Ratatui ist schon ein recht altes Projekt und mein erstes Werkzeug, wenn ich komplexe TUIs bauen will
    • Ich habe inzwischen auch Lust bekommen, nach anderen Alternativen oder Unterscheidungsmerkmalen zu suchen
  • Ich habe zunehmend das Gefühl, dass es mehr Utilities braucht, mit denen sich CLI-basierte Agenten im Terminal ordnerweise ausführen lassen
    Zum Beispiel könnte man damit die Automatisierung von Compliance-Prüfungen unterstützen

    • Die großen Coding-Agenten unterstützen bereits einen CLI-Modus
      Es gibt Cline CLI, Opencode CLI, Codex CLI, Gemini CLI, Claude Code CLI und weitere