Ratatui – App Showcase
What the Ratatui Showcase Is
- Page is a gallery of Rust terminal UIs built with the Ratatui crate, not an essay on “TUI revolutions.”
- Several commenters say Ratatui has been around for a while and is their default for “semi‑complex” TUIs; others discover it here and ask how it compares to alternatives.
Why So Many TUIs Lately
- Nostalgia and aesthetics: reminds people of DOS / Turbo Vision forms; “engineers designing for engineers” with keyboard‑first workflows.
- Practical reasons:
- Good cross‑platform story (macOS/Linux/BSD/Windows) and seamless SSH use.
- Cuts context switching: stay in the terminal instead of jumping to GUIs/web apps.
- Modern terminals (GPU‑accelerated, 24‑bit color, high DPI) feel like a capable, always‑available canvas in the dev environment.
- Web/Electron and many GUIs are seen as bloated, slow, and constantly redesigning; TUIs feel lean, stable, and “quiet.”
- TUIs are good first projects, good for glue tools, and pair well with codegen/LLM workflows that already live in the terminal.
TUIs vs GUIs (especially in Rust)
- Many frame TUI popularity as partly a reaction to the “dreadful” or immature state of Rust GUI frameworks and the complexity of modern GUI stacks (Qt/GTK/Windows/Electron).
- Others push back, listing multiple viable Rust GUI options (egui, Iced, Slint, gpui, Tauri, Cosmic DE) and arguing TUIs are chosen because people like TUIs, not just due to GUI gaps.
- Several see TUIs as a sweet spot between bare CLI and full GUI: richer interaction without GUI overhead, but limited for highly complex apps and discoverability.
Terminals as Platform
- TUI libraries abstract away messy escape codes so the terminal becomes a “canvas,” echoing 70s–90s forms libraries.
- Some hope for deeper rethinks of the terminal model (e.g., Arcan‑like efforts), while others are content with current emulators.
- Debate over SSH UX: some say TUIs are the only sane GUI‑like experience over SSH; others point to X11/xpra/x2go.
Distribution, Dependencies, Performance
- Complaints that many showcased apps are awkward to install unless you’re already comfortable with
cargo install; some prefer platform package managers and binaries over building from source. - Mixed views on Rust’s compile times vs C++; some find Rust builds intolerably slow for ports‑style systems, others say large C++ projects are worse and Rust is acceptable.
- Ratatui’s design of relying on separate crates for many widgets is divisive:
- Supporters like the modularity and reduced churn in the core.
- Critics dislike pulling in a new dependency per basic widget and fear version skew between widgets and core; maintainers mention plans for a stable core crate.
- At least one user reports high CPU usage when typing in a Ratatui textbox example; GitHub discussions suggest open performance concerns.
Accessibility, Keyboard Use, and UX
- Strong enthusiasm for keyboard‑only workflows, tiling window managers, and TUIs that never force mouse use; people value consistent fonts, themes, dense layouts, and predictable hotkeys.
- Others argue:
- TUIs are not inherently better for accessibility: terminals lack a standard way to expose semantics to assistive tech, whereas GUI toolkits usually integrate with OS accessibility APIs.
- Terminals have hard limits in key handling (modifiers, escape timing) that make advanced keyboard schemes harder than in GUIs.
- Extended back‑and‑forth on whether TUIs are “strictly worse” for accessibility vs GUIs, with examples from roguelikes, screen readers, and layout ambiguity; no consensus.
TUI Web Browsers and Terminal Capabilities
- Some want a modern, Ratatui‑quality TUI web browser to “live in the terminal,” ideally with modern terminal graphics (sixel, shaders).
- Others note existing text browsers (Lynx, w3m, ELinks), hybrid solutions (Browsh, Chawan, Carbonyl, nimwave), and HTML‑rendering TUIs (cursive).
- Debate:
- Pro: better over slow SSH, nice character‑based UX, lower resource usage than full graphical browsers.
- Skeptical: still bound by HTML/JS complexity, adds another layer between engine and GPU, and GUIs with proxies or dynamic SSH tunnels might be cleaner.
Rust Ecosystem, Widgets, and Event Loops
- Multiple developers praise Ratatui as “delightful” but say they ended up rolling their own event loops or widgets because:
- They dislike the widget ecosystem’s fragmentation.
- They couldn’t find a widget/event stack with ergonomics and appearance they were happy with.
- Rust’s general culture of many small dependencies comes up; some appreciate it, others are uneasy about deep dependency trees and maintenance.
Use Cases, Tools, and Reactions to the Showcase
- Showcase surfaces many popular tools people already use (e.g., file managers, disk usage analyzers, network monitors) and new ones they plan to adopt.
- Several “shameless plug” projects appear: games, markdown viewers, spreadsheets, coding agents, Bluetooth managers, etc., all leveraging Ratatui.
- Requests and side topics:
- A Postman‑like TUI HTTP client; suggestions include various CLIs and editor plugins.
- Cargo commands listed directly on the showcase page for easier installation.
- Questions about Windows support (colors, flicker, duplicate key events); some fixes described in other crossterm‑based apps.
- Overall sentiment toward Ratatui and the showcased apps is strongly positive, with nuanced concerns around ergonomics, installation, and performance.