Fragments of verbose memory

冗長な記憶の断片 - Web技術のメモをほぼ毎日更新

Dec 21, 2025 - 日記

この数年のTUIアプリの進化 - Bubble TeaとRatatuiが牽引する黄金時代

tui-evolution-2023-2024 cover image

ここ数年、ターミナル上で動作するTUI(Terminal User Interface)アプリが目覚ましい進化を遂げています。lazydockeryazilazygitなど、洗練されたインターフェースを持つツールが次々と登場しています。

特に**2023年は「TUIのカンブリア紀」**とも呼べる爆発的な進化の年でした。Ratatuiの正式化を契機に、多様なTUIアプリケーションが一気に開花したのです。

本記事では、この背景にあるTUIライブラリの進化と、2023-2024年に起きた重要な転換点について解説します。

TUIアプリの進化を支えるライブラリ

1. Bubble Tea(Go) - Charm Bracelet製

Bubble Tea は、Go言語で最も人気のあるTUIフレームワークの一つです。The Elm Architectureに基づいた設計が特徴で、宣言的UIパターンを採用しています。

主な特徴:

  • 37,200+ GitHub stars(2025年1月時点)
  • 10,000以上のアプリケーションがこのライブラリで構築
  • 機能的でステートフルなアプローチ
  • フレームレートベースのレンダラー
  • スクロール可能な高性能領域のレンダラー
  • マウスサポート
  • 充実したエコシステム
    • Bubbles : テキスト入力、ビューポート、スピナーなどの共通UIコンポーネント
    • Lip Gloss : ターミナルアプリケーション向けのスタイル、フォーマット、レイアウトツール
    • Harmonica : スムーズで自然なモーションを実現するスプリングアニメーションライブラリ
    • BubbleZone : Bubble Teaコンポーネント向けの簡単なマウスイベントトラッキング

業界での採用実績:

Bubble Teaは多くの企業や組織で採用されています:

  • Microsoft Azure: Aztify - Azure リソースを Terraform 管理下に移行
  • Daytona: Daytona - オープンソース開発環境マネージャー
  • NVIDIA: container-canary - コンテナバリデーター
  • AWS: eks-node-viewer - EKS クラスター内の動的ノード使用状況を可視化

Charmエコシステム全体が活発に開発されており、洗練されたTUIを簡単に構築できるようになっています。

2. Ratatui(Rust) - tui-rsの後継

Ratatui は、2023年に重要な転機を迎えました。

経緯:

  • tui-rsが2022年にメンテナンスが停滞
  • 2023年2月にコミュニティがフォークしてratatuiを創設
  • 2023年8月に正式にtui-rsの後継として認定
  • 現在は活発に開発が継続中(16,500+ GitHub stars、2025年1月時点)

主な改善:

  • 水平バーチャートのサポート
  • Sixelプロトコルのサポート(画像表示)
  • テストカバレッジ90%達成
  • unsafeコードの禁止
  • より充実したドキュメント
  • モジュラーワークスペース構造(ratatui-coreratatui-widgetsなど)

活発なコミュニティ:

  • 261名の貢献者
  • 11,600以上のプロジェクトがRatatuiを使用
  • 専用フォーラムhttps://forum.ratatui.rs )とDiscordサーバー

テストとドキュメント:

Ratatuiは開発者体験を重視しており、以下のツールを提供:

  • teatest : エンドツーエンドテスト用ツール
  • VHS : デモやスクリーンショットの録画ツール

yazilazydockerなど、多くの現代的なツールがこれらのライブラリを使用しています。

3. 各アプリケーションの使用ライブラリ

主要なTUIアプリケーションが使用しているライブラリは以下の通りです:

  • lazydocker: Go言語、gocuiライブラリ使用
  • yazi: Rust製、Ratatuiベース、非同期I/Oベース
  • lazygit: Go言語、gocuiライブラリ使用
  • OpenCode: Bubble TeaベースのネイティブTUI(AIコーディングアシスタント)

なぜ2023-2024年にTUIが進化したのか

1. アーキテクチャの改善

The Elm Architectureのような宣言的UIパターンの採用により、複雑なUIの状態管理が容易になりました。

The Elm Architectureの3要素:

  • Model: アプリケーションの状態
  • Update: イベントを受け取り、モデルを更新
  • View: モデルに基づいてUIをレンダリング

この分離により、ロジックとUIが明確に分離され、テストやデバッグが容易になります。

2. コミュニティ駆動の開発

tui-rsからRatatuiへの移行のように、オープンソースコミュニティが積極的にメンテナンスを継続しています。

コミュニティの力により:

  • メンテナーの交代があっても開発が継続
  • 多様な視点からの改善提案
  • 活発なissueやPull Requestによる品質向上

3. エコシステムの充実

スタイリング、コンポーネント、アニメーションなど周辺ツールが発展しました。

Bubble Teaエコシステムの例:

  • Bubbles: 再利用可能なUIコンポーネント
  • Lip Gloss: CSSライクなスタイリング
  • Harmonica: スプリングベースのアニメーション
  • BubbleZone: マウスイベント管理

これらにより、ゼロから実装する必要がなく、高品質なTUIを短期間で構築できます。

4. 非同期I/Oのサポート

パフォーマンスが大幅に向上し、高速なレスポンスを実現しています。

イベントループを高速に保つことで:

  • キー入力への即座のレスポンス
  • 大量のメッセージ処理
  • スムーズなアニメーション

5. クロスプラットフォーム対応

様々なターミナルエミュレータへの対応が進みました。

対応プラットフォーム:

  • macOS、Linux、Windows
  • SSH経由のリモート環境
  • 様々なターミナルエミュレータ(iTerm2、Alacritty、Windows Terminalなど)

6. 開発者体験の向上

デバッグツール:

  • メッセージダンプ機能
  • ライブリロード対応
  • テストフレームワーク(teatest)

ドキュメント:

  • 充実したチュートリアル
  • 実践的なサンプルコード
  • コミュニティフォーラム

TUI「カンブリア紀」の到来

TUIカンブリア紀の進化年表

2023年がターニングポイントとなった理由は以下の点です:

1. ライブラリの成熟と爆発的拡大

約5億4000万年前のカンブリア紀に多様な生物が爆発的に進化したように、2023年のTUI界隈も急激な進化を遂げました:

  • Bubble Tea(Go): 37,000+ スター、10,000以上のアプリケーションが構築
  • Ratatui(Rust): 2023年8月に正式後継化、16,500+ スター
  • 両ライブラリとも活発な開発が継続中

2. 生態系の形成

カンブリア紀の生物多様性のように、TUIエコシステムも多様化:

  • 数百名の貢献者による改善
  • 企業での本番採用(Microsoft、NVIDIA、AWSなど)
  • 充実したドキュメントとサポート体制
  • スタイリング、アニメーション、テストツールの充実

3. 「適者生存」による洗練

  • IDEより軽量で高速という明確な優位性
  • SSH経由でも使えるリモート環境への適応
  • カスタマイズ性の高さ
  • リソース効率の良さ

この「TUIのカンブリア紀」により、ターミナルベースのアプリケーションは新たな進化の段階に入りました。

実際のアプリケーション例

TUIフレームワークを使った代表的なアプリケーションを紹介します:

開発ツール

  • lazygit : Git操作を簡単にするTUI
  • lazydocker : Docker/Docker Compose管理TUI
  • gh-dash : GitHub CLIのPRとissue管理拡張(Bubble Tea製)

ファイル管理・ユーティリティ

  • yazi : 高速なファイルマネージャー(Ratatui製)
  • chezmoi : 複数マシンでdotfileを安全に管理(Bubble Tea製)

ドキュメント・コンテンツ

  • Glow : Markdownリーダー・ブラウザ(Bubble Tea製)

企業での採用事例

Bubble Tea採用企業:

  • Microsoft Azure: Aztify - Azure リソースをTerraform管理下に
  • NVIDIA: container-canary - コンテナバリデーター
  • AWS: eks-node-viewer - EKSクラスターのノード可視化
  • Daytona: Daytona - オープンソース開発環境マネージャー
  • MinIO: mc - 公式MinIOクライアント

Ratatui採用企業:

  • Cockroach Labs: CockroachDB - 分散SQLデータベース
  • Truffle Security: Trufflehog - 認証情報漏洩検出
  • Ubuntu: Authd - 認証デーモン

まとめ - カンブリア紀からの進化は続く

2023年の「TUIのカンブリア紀」により、TUIアプリケーションは爆発的な進化を遂げました。Ratatuiの正式化を契機に、TUIライブラリが成熟し、開発者体験が大幅に向上しています。

カンブリア紀の遺産:

  1. ライブラリの成熟: Bubble TeaとRatatuiが37,000、16,000のスターを獲得
  2. 企業での採用: Microsoft、NVIDIA、AWSなど大手企業が本番環境で採用
  3. コミュニティの拡大: 数百名の貢献者、数万のプロジェクト
  4. エコシステムの充実: スタイリング、アニメーション、テストツールが揃う
  5. 開発者体験: デバッグツール、ライブリロード、充実したドキュメント

カンブリア紀の生物が現代まで進化を続けたように、TUIアプリケーションも今後さらなる進化を遂げていくでしょう。軽量で高速、SSH経由でも使えるTUIアプリは、今後も開発ツールの重要な選択肢であり続けます。

次のステップ:

このTUI進化の波に乗りたい方は、以下から始めてみてください:

TUIアプリ開発の進化に、あなたも参加してみませんか?

参考リンク

TUIフレームワーク

エコシステムツール

TUIアプリケーション例

関連記事