
ここ数年、ターミナル上で動作するTUI(Terminal User Interface)アプリが目覚ましい進化を遂げています。lazydocker、yazi、lazygitなど、洗練されたインターフェースを持つツールが次々と登場しています。
特に**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-core、ratatui-widgetsなど)
活発なコミュニティ:
- 261名の貢献者
- 11,600以上のプロジェクトがRatatuiを使用
- 専用フォーラム(https://forum.ratatui.rs )とDiscordサーバー
テストとドキュメント:
Ratatuiは開発者体験を重視しており、以下のツールを提供:
yaziやlazydockerなど、多くの現代的なツールがこれらのライブラリを使用しています。
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「カンブリア紀」の到来

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製)
ファイル管理・ユーティリティ
ドキュメント・コンテンツ
- 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ライブラリが成熟し、開発者体験が大幅に向上しています。
カンブリア紀の遺産:
- ライブラリの成熟: Bubble TeaとRatatuiが37,000、16,000のスターを獲得
- 企業での採用: Microsoft、NVIDIA、AWSなど大手企業が本番環境で採用
- コミュニティの拡大: 数百名の貢献者、数万のプロジェクト
- エコシステムの充実: スタイリング、アニメーション、テストツールが揃う
- 開発者体験: デバッグツール、ライブリロード、充実したドキュメント
カンブリア紀の生物が現代まで進化を続けたように、TUIアプリケーションも今後さらなる進化を遂げていくでしょう。軽量で高速、SSH経由でも使えるTUIアプリは、今後も開発ツールの重要な選択肢であり続けます。
次のステップ:
このTUI進化の波に乗りたい方は、以下から始めてみてください:
- Bubble Tea Tutorial - 基本的なTUIアプリの作成
- Ratatui Examples - ウィジェットの使い方
- Tips for building Bubble Tea programs - 実践的な開発Tips
TUIアプリ開発の進化に、あなたも参加してみませんか?
参考リンク
TUIフレームワーク
エコシステムツール
- Bubbles - コンポーネントライブラリ
- Lip Gloss - スタイリングツール
- Harmonica - アニメーションライブラリ
- BubbleZone - マウスイベント
- teatest - テストフレームワーク
- VHS - デモ録画ツール
TUIアプリケーション例
- lazygit - Git TUI
- lazydocker - Docker TUI
- yazi - ファイルマネージャー
- chezmoi - dotfile管理
- gh-dash - GitHub CLI拡張
- Glow - Markdownリーダー
関連記事
- Tips for building Bubble Tea programs - Bubble Tea開発のベストプラクティス