「tuie」面向 Rust 的高性能 TUI 库:Flexbox 布局、终端图片和可选 GUI 模式

tuie README 中的 TUI 示例界面

tuie 是一个面向 Rust 的 TUI 库,目标是把终端应用的布局、输入、渲染和性能细节收进一套比较完整的 widget 系统里。它不是只提供几个 box drawing helper,而是把 Flexbox、grid、split、virtualized list、文本输入、图片渲染、主题色和可选 GUI 运行模式都放进同一个抽象里。

README 里最值得注意的是它对终端能力边界的处理。图片组件支持 Kitty 协议,并提供 sixel 与 half-block fallback,还强调可以在 SSH 和 tmux passthrough 下工作;输入部分是 iterator-based,可扩展,并内置 vi、emacs、modern 和自定义绑定。对于写复杂终端应用的人来说,这些往往比“能画表格”更接近真实痛点。

性能方向也写得很直接:tuie 做了 subtree、widget、cell 级别的 dirty tracking,配合 batched queries、shared memory graphics 和 packed structs,减少不必要的重绘与查询成本。它还提供一个 chord! 宏,用更接近人类阅读的方式构造和匹配组合键,比如 Ctrl + Arrow(Up | Down) 这一类输入。

上手方式比较 Rust:cargo add tuie --features=harmonious 后,用链式 builder 组合 widget tree,再调用 tuie::start_tui(root)。如果只想从简单界面开始,可以用 PaneText 这些默认 widget;如果要做更复杂的应用,也可以自己实现 Widget,或者用 delegate widget 把事件处理挂到根组件上。

项目当前版本是 0.1.2,MIT 许可证,主语言 Rust,截至 2026 年 5 月 27 日 GitHub 约 44 stars。它还比较年轻,但已经有两个参考方向:一个是覆盖大部分 widget 和功能的 tuie-demo,另一个是基于 tuie 构建的 fuzzy finder fz。如果你在 Rust 里写过 ratatui 风格的界面,又想看看更偏 widget tree、图片和 GUI fallback 的设计,tuie 值得放进观察列表。

传送门

https://github.com/jake-stewart/tuie

原创文章,如若转载,请注明出处:https://wefound.cc/p/3763.html

(0)
「Mailflare」基于 Cloudflare 的自托管自定义域名邮箱客户端:收发、路由和草稿都在 Workers 上跑
上一篇 2026年 5月 27日 下午1:19
「Writer」本地优先的桌面 Markdown 编辑器:直接管理工作区文件、支持 Mermaid 和多窗口
下一篇 2026年 5月 27日 下午2:56

相关推荐