2 ポイント 投稿者 GN⁺ 2025-11-07 | 1件のコメント | WhatsAppで共有
  • Ratatui フレームワークで作られた多様な**ターミナルベースアプリケーション(TUI)**の事例を集めたコレクション
  • システム監視、ファイル探索、ネットワーク分析、データ可視化など用途別のさまざまなアプリを収録
  • 代表例として Atuin(シェル履歴管理)GitUI(Git インターフェース)Oatmeal(LLM チャット)Yazi(ファイルマネージャー) などを紹介
  • 各プロジェクトは Rust 言語で書かれており、GitHub リンクとデモ画像をあわせて提供
  • Rust エコシステムにおけるターミナル UI 開発の拡張性と実用性を示す事例集

概要

  • Ratatui の App Showcase ページは、Ratatui を活用して開発された実際の**ターミナルユーザーインターフェース(TUI)**アプリケーションを一覧化
  • 各項目はGitHub リポジトリへのリンク簡単な説明デモ画像または GIFで構成
  • 合計 27 件以上のプロジェクトが含まれており、システムツールからゲーム、AI、データ管理まで幅広い範囲をカバー

主なアプリケーション一覧

Atuin

  • 既存のシェル履歴をSQLite データベースに置き換え、コマンド実行時の追加コンテキストを記録

Bandwhich

  • プロセス、接続、リモート IP / ホストごとのネットワーク使用量を表示する CLI ユーティリティ

Binsider

  • ターミナルでバイナリ解析を行うツール

Bottom

  • クロスプラットフォームのシステムモニターで、CPU・メモリなどのリソース使用量を可視化

Crossword

  • ターミナルでクロスワードパズルを遊べるゲーム

Csvlens

  • CSV ファイル専用ビューアーless コマンドに似ているが、CSV 構造に最適化

Dua

  • 並列処理ベースのディスク使用量解析ツールで、高速な削除機能を提供

Fzf-make

  • **ファジーファインダー(fuzzy finder)**を使って make ターゲットを実行する CLI ツール

GitUI

  • Git 作業向けの Rust 製 TUI インターフェース

Gpg-tui

  • GnuPG のためのターミナルインターフェース

Joshuto

  • Ranger スタイルのファイルマネージャーで、Rust 製

Material

  • ターミナル向けのマテリアルデザインカラーパレット

Minesweep-rs

  • Rust で書かれたマインスイーパーゲーム

Oatmeal

  • LLM と対話できるターミナルチャットアプリで、ChatGPT または Ollama バックエンドをサポート
    • スラッシュコマンドチャットバブル UINeovim 連携機能を含む

Oha

  • Web アプリケーションに負荷をかけ、リアルタイム TUI で結果を表示

Oxker

  • Docker コンテナの制御と監視のための TUI

OpenAPI-tui

  • ターミナルでOpenAPI ドキュメントを素早く参照できるツール

Rainfrog

  • データベース操作向けの軽量ターミナルツール

Rucola

  • Markdown ノート管理と HTML 変換機能を提供

Scope-tui

  • オシロスコープ・ベクトルスコープ・スペクトロスコープ機能をターミナルで実装

Slumber

  • HTTP/REST クライアントをターミナルで実行

Steer

  • ローカル開発と自動化のための AI コーディングエージェント

Taskwarrior-tui

  • Taskwarrior タスク管理ツールのターミナルインターフェース

Television

  • ファジーマッチングアルゴリズムベースの検索ツールで、ファイル・Git・環境変数など多様なデータソースの探索をサポート

Trippy

  • Traceroute と Ping 機能を組み合わせたネットワーク診断ツール

Xplr

  • 高速でハッカブルな TUI ファイルエクスプローラー

Yazi

  • 非同期 I/O ベースの超高速ファイルマネージャーで、Rust 製

Yozefu

  • Kafka クラスターデータ探索向けのインタラクティブ TUI
    • SQL ライクなクエリ言語で細かなフィルタリングをサポート
    • AKHQ、Redpanda Console、JetBrains Kafka プラグインの代替

Ratatui エコシステムの意義

  • すべてのアプリは Ratatui フレームワークを基盤として作られており、Rust 環境におけるターミナル UI 開発の多様性と成熟度を示している
  • 各プロジェクトはオープンソースの GitHub リポジトリとして公開されており、開発者が直接参考にできる
  • Ratatui がRust ベースの CLI/TUI 開発の標準ツールとして定着しつつあることを示唆

1件のコメント

 
GN⁺ 2025-11-07
Hacker Newsのコメント
  • 最近は Rust 製のTUIが多いのが興味深い
    自分が知っているのは Awesome TUIsterminaltrove、それから Ratatui の awesome リスト くらい

    • 最近はまともなデスクトップ GUI プラットフォームがほとんどないので、むしろターミナルのほうが魅力的な環境になっている
      Qt や GTK は重すぎるし、Windows はしょっちゅう変わるし、Electron は触りたくない
      ターミナルはここ最近で品質がかなり良くなっていて、小さなアプリを作るにはずっと簡単になった
      LEGO で格好いいものを作るほうが、粘土で彫刻するより簡単だというたとえがぴったり
    • TUI ライブラリはターミナル描画の低レベルな複雑さをうまく抽象化していて、今ではターミナルが IDE の中のキャンバスのように感じられる
      データの状態を可視化するのに、ブラウザのレンダリングパイプラインを組む必要がない
      参考までに このサンプル画像 がある
    • TUI はたいていクロスプラットフォームで、ターミナル内でそのまま使えるのでコンテキストスイッチが少ない
      Ghostty、WezTerm、Kitty、iTerm、Alacritty のような最新ターミナルは GPU アクセラレーションと 24 ビットカラーをサポートしている
      しかも最近の開発者は、IDE よりもターミナルで Claude Code、Gemini CLI、Codex のようなツールを使うことが増えている
    • 長いあいだひどい Web インターフェースに悩まされてきた開発者にとって、TUI は新鮮な代替手段だ
      制約は多いが、そのおかげでひどい UI も作りにくい
      単純から中程度の複雑さのソフトウェアには本当によく合う。例として Midnight Commander を勧めたい
    • 自分にとって TUI は、最近の過剰にデザインされた GUI の世界から抜け出すための逃げ道だ
      デザイナーとの協業は、ますます官僚的で非効率に感じられる
      TUI は情報密度が高く、不要な余白が少ないすっきりしたインターフェースを強制してくれる
  • Rust で TUI が流行っているのは、GUI の状況があまりにも厳しいからだ
    Rust GUI ライブラリ調査 を見るとそれが分かる
    自分は Rust から Qt を使いたいが、QML、Slint、GTK、即時モード UI などは望んでいない
    Rust で Qt のようなものが生まれないのだとしたら、本当に残念だと思う

    • 実際のところ、Rust で TUI を作っている人たちは単にTUI が好きだから作っているだけだ
      Ratatui はとにかく楽しく使えるフレームワークなので、GUI 不在とは関係ない
    • GUI はどの言語でも、テスト、アクセシビリティ、i18n などの負担が大きい
      CLI では足りないが完全な GUI ではやりすぎ、という場面で TUI がその中間をうまく埋めてくれる
    • Rust で伝統的な GUI フレームワークが難しい理由は、循環参照構造にある
      ウィンドウ・コンテナ・ボタン間の親子参照が Rust の所有権モデルと衝突する
      Qt のsignal-slotメカニズムも Rust では実装が難しい
    • 自分も Rust の GUI エコシステムは厳しいと感じる
      必要な crate の大半が WIP か放置状態だった
      人気のある一部の大型 crate を除けば、ドキュメントも「C++ のドキュメントを参照してくれ」というレベルだ
      Rust がまだ若い言語だからというのもあるが、コミュニティのパッケージ保守への情熱が足りないことのほうが大きな問題に思える
    • ちなみに Zed は Rust で作られた GUI エディタだ
      ただし GUI 部分まで Rust だけで実装されているのかはよく分からない
  • 自分は、完全にターミナルの中だけで生活できるようにしてくれるTUI Web ブラウザを待っている
    sixel や shader のような技術でグラフィックスも扱えるので、動画以外なら十分可能そうだ
    広告ブロックが簡単なので企業には嫌がられるかもしれないが、LLM 向けブラウザとして売り込めば説得できるかもしれない

    • でも、そもそもなぜそうする必要があるのか分からない
      ターミナルは低解像度の文字バッファなのだから、単純に GPU アクセラレーション付きのピクセルレンダリングのほうがずっと効率的だ
    • Browsh というプロジェクトがある
      Firefox を headless で動かし、その結果を ASCII としてターミナルに描画する。かなり面白い
    • 自分は Chawan をよく使う。かなり良い
    • 実は 90 年代からすでに可能だった
      Lynxw3m が代表例だ
    • Rust ではないが nimwave も参考になる
  • 自作のMarkdown ビューア mdfried を紹介したい
    Markdown は原文の可読性は高いが、ブラウザで見たほうが快適なので、見出しを画像としてレンダリングするビューアを作った
    フォントは一度設定する必要があり、インライン画像にも対応している
    今では Kitty の text-sizing protocol を活用して、画像変換なしでそのまま描画できる

    • 本当に素晴らしいプロジェクトだ。ただ Ghostty はまだそのプロトコルを実装していないようだ
  • オランダのTeletekstが SSH インターフェースを提供している
    この記事 によると Ratatui で作られていて、ssh teletekst.nl で接続できる

  • Ratatui で作られた小さなアプリを試したが、単純なテキスト入力だけで CPU 使用率が 8% まで上がって驚いた
    公式サンプルをそのまま使ってもそうだった

    • もしかしてdebug ビルドで実行していないかと尋ねている。cargo run はデフォルトでデバッグモードだ
  • 自分のオープンソースプロジェクト TironCalc をメインリポジトリ ironcalc に統合したい
    Rust と Ratatui で取り組むのに良いプロジェクトだと思う
    ただ、Microsoft の edit プロジェクトを見たあとでは、Ratatui が最善なのか確信が持てなくなった

  • 自作のRatatui ベースの TUI ゲーム rebels-in-the-sky を紹介したい

    • ゲームを動かしてみたが本当に気に入った。Hattrick のような古典的サッカーシミュレーターの雰囲気がありつつ、より洗練された感覚がある
      ただ、リポジトリ内の動画は自分の環境では開けなかった
    • アートワークが素晴らしい。GitHub では動画がレンダリングされず、mp4 を直接ダウンロードする必要があった
    • 「銀河を舞台にした宇宙海賊バスケットボール P2P ゲーム」という説明が本当に印象的だ
  • 投稿タイトルが少し変だと感じた
    Rust の TUI 革命についての話かと思ったが、実際には Ratatui で作られたアプリ集だった

    • 実際には、この crate 自体が Rust のTUI ブームの原因だという意味だったのだと思う
      Go 界隈の Charm も似たような役割を果たしている
    • タイトルは修正された。HN のガイドラインでは原題を維持し、誤解を招く場合にだけ変更するのが原則だ
    • Ratatui はかなり長く続いているプロジェクトで、複雑な TUIを作るときに自分が最初に見る道具だ
    • 自分も、そろそろ他の選択肢や差別化ポイントを探してみたくなった
  • ターミナルでCLI ベースのエージェントをフォルダ単位で実行できるユーティリティの必要性がますます高まっていると感じる
    たとえば法的コンプライアンスチェックの自動化に使えそうだ

    • 主要なコーディングエージェントはすでに CLI モードをサポートしている
      Cline CLI、Opencode CLI、Codex CLI、Gemini CLI、Claude Code CLI などさまざまだ