跳转到内容

Ratatui Kit

RATATUI 之上的 RUST 组件框架

终端界面,
从容构建。

在 Ratatui 之上,用组件组织界面,用 Hooks 管理状态,构建更清晰的终端应用。

基于 Ratatui · 由 Tokio 驱动 · MIT 开源

像素风终端构建者:深青色工装的鼠角色正在组合终端组件框架
组件 / 状态 / 布局 v0.12.0

01 / 实际运行

在终端里,做更多。

从任务管理到鼠标交互,每个画面都来自仓库中可运行的 Rust 示例。

todo_app.rs 真实终端录屏
任务管理: 组件、筛选与响应式状态,组合成完整的任务应用。

组件、筛选与响应式状态,组合成完整的任务应用。

cargo run --example todo_app 阅读示例教程
浏览全部示例

02 / 组件模型

写下界面。 让状态驱动它。

熟悉的组件、Props 与 Hooks,配合 Rust 的类型系统。保留 Ratatui 的绘制能力,把重复的运行时工作交给框架。

了解组件与 Hooks
counter.rs组件片段
#[component]
fn Counter(mut hooks: Hooks) -> impl Into<AnyElement<'static>> {
    let mut count = hooks.use_state(|| 0_u64);

    hooks.use_future(async move {
        loop {
            tokio::time::sleep(Duration::from_secs(1)).await;
            count += 1;
        }
    });

    element!(Border {
        Text(text: Line::from(format!("Count: {}", count.get())))
    })
}

03 / 应用基础

从一个组件,到完整应用。

开始 / 安装

你的下一个终端应用, 从这里开始。

默认不启用额外特性。按需开启路由、输入、表格与全局状态。

cargo add ratatui-kit

开始构建