14 ポイント 投稿者 subinium 2026-03-17 | 2件のコメント | WhatsAppで共有

Rustのパフォーマンスや単一バイナリ配布といった利点から、CLI/TUIツールをRustで作っている方はかなりいると思います。

PythonのTextualやJSのInkのようなツールは文法が比較的扱いやすい一方で、ランタイム依存や性能オーバーヘッドが気になることもあります。Rustではratatuiが良いエコシステムを持っていますが、レイアウトを組むのにかかる時間は決して少なくありません。

そこで、2つ作りました。

1. tui.builders — ターミナルUIをブラウザで

視覚的にデザインしてRustコードを書き出せるエディタです。
https://tui.builders

ウィジェットをドラッグし、インスペクタでプロパティを設定すると、
コードが1:1で生成されます:

  • インスペクタ: width=30, padding=2, border=rounded
  • コード: .w(30).p(2).border(Border::Rounded)

2. SuperLightTUI — この1:1マッピングのために設計した

Rust TUIライブラリです。

CSS flexbox + Tailwind
ユーティリティクラス方式なので、Web開発の経験があれば
特別な学習なしにレイアウトを組めます。

slt::run(|ui| {  
    ui.bordered(Border::Rounded).p(2).gap(1).col(|ui| {  
        ui.text("hello").bold().fg(Color::Cyan);  
        if ui.button("click").clicked { count += 1; }  
    });  
});  

クロージャ1つでアプリ全体を表現できます。App構造体やイベントループ、
trait実装なしで3行あればレンダリングできます。

  • 依存関係は2つ(crossterm + unicode-width)、unsafe 0
  • immediate-modeレンダリング、約1msフレーム
  • 50以上のウィジェット(チャート、テーブル、画像、AIウィジェットなど)
  • エディタなしでライブラリ単体でも利用可能

Rust TUIの性能を維持しつつ、開発速度も高めたい
方の助けになればうれしいです。

2件のコメント

 
@deleted_gndfr0dev 2026-03-21

Ratatuiを使っていて面倒で結局やめたんですが、まさにその欠点を突いていますね!本当にいいです(笑)

 
kayws426 2026-03-17

わあ!いいですね!!