自从我开始使用 Vibe Coding 以来,每当我需要 CLI/TUI 工具时,出于性能考虑,我都会用 Rust 来编写。尽管当时我对 Rust 几乎一窍不通! 然而,在解释和 AI 修改方面,像 Python 的 Textual 或 JS 的 Ink 这样的工具虽然语法直观且使用方便,但运行时依赖和性能开销却一直困扰着我。因此,就 Rust 而言,虽然 ratatui 拥有良好的生态系统并提供一些 AI 辅助功能,但我感觉它缺乏一个易于理解的原生 AI 架构。 因此,我开发了两个工具。 1. tui.builders - 一个可以在浏览器中可视化设计终端 UI 并导出 Rust 代码的编辑器。我的目标是实现类似 Figma 的易用性。 tui.builders 当您拖动一个控件并在检查器中设置其属性时, 代码将按 1:1 的比例生成: - 检查器:width=30, padding=2, border=rounded - 代码:.w(30).p(2).border(Border::Rounded) 因此,您可以轻松地创建 TUI 工具:使用 Figma 等编辑器在 Web 上构建工具,立即导出,并与 AI 一起编辑。 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; } }); }); 整个应用程序仅用一个闭包定义。它仅需三行代码即可渲染,无需 App 结构体、事件循环或 trait 实现。 我整合了许多我认为必要的元素,例如立即模式渲染和超过 50 个组件(图表、表格、图像、AI 组件等)。 当然,我对这个可视化库还不完全满意,目前正在进行一些细节上的修改,但我希望它能帮助那些既想保持 Rust TUI 的性能又想加快开发速度的人。欢迎大家提出反馈意见。 - tui.builders: tui.builders - GitHub: github.com/subinium/SuperLight... -
本文为机器翻译
展示原文
Telegram
免责声明:以上内容仅为作者观点,不代表Followin的任何立场,不构成与Followin相关的任何投资建议。
喜欢
收藏
评论
分享





