现在构建 TUI 很容易
现在构建 TUI 很容易 这项探索深入研究建筑,检验其重要性和潜在影响。 — Mewayz 商业操作系统。
Mewayz Team
Editorial Team
现在构建 TUI 很容易 — 以下是现代开发人员需要了解的内容
得益于现代库、框架和工具抽象了低级终端控制的复杂性,构建终端用户界面 (TUI) 比以往任何时候都容易。无论您是在制作内部开发人员工具、CLI 仪表板还是轻量级业务实用程序,TUI 的复兴都已到来,而且它比大多数开发人员意识到的更容易访问。
TUI 到底是什么?为什么开发者再次拥抱它?
终端用户界面 (TUI) 是一种在终端仿真器内运行的应用程序,它使用文本、边框、颜色和键盘导航提供结构化的交互式视觉体验,而无需图形桌面环境。与按顺序处理命令的普通 CLI 不同,TUI 实时呈现面板、菜单、进度条和输入字段。
出于令人信服的原因,开发人员正在回归 TUI。它们快速、轻量,并且通过 SSH 运行,无需任何显示服务器。与基于 Electron 的替代方案相比,它们消耗的内存可以忽略不计,非常适合服务器端工具、DevOps 仪表板和内部业务实用程序。这种复兴也是文化上的——终端美学在开发者社区中真正流行起来,推动了 htop、lazygit、k9s 和 btop 等工具的发展。
如今,哪些框架和库使 TUI 开发变得容易?
现代 TUI 生态系统丰富且支持多种语言,无论您喜欢哪种堆栈,都可以轻松上手:
Bubble Tea (Go) — 受 Elm 架构启发的功能性、基于组件的 TUI 框架。它优雅地处理渲染、事件和状态,并为过去几年中许多最完善的终端工具提供支持。
Textual (Python) — Textual 构建于 Rich 之上,让 Python 开发人员可以构建完全响应式、CSS 风格的 TUI 应用程序,并具有异步支持和用于实时检查的 Devtools 浏览器。
Ratatui (Rust) — tui-rs 的社区分支,将 Rust 的性能和安全性引入终端渲染,并提供开箱即用的图表、表格和仪表小部件。
Ink (JavaScript/TypeScript) — 将 React 风格的组件渲染带到终端,让已经了解 JSX 和 hooks 的前端工程师立即熟悉 TUI 开发。
Blessed / Blessed-contrib (Node.js) — 一个成熟的 Node.js TUI 库,具有网格布局和仪表板小部件,历史上在操作监控工具中很受欢迎。
这些框架中的每一个都提供了对原始终端转义码的高级抽象,因此开发人员将时间花在产品逻辑上,而不是光标定位或颜色字节序列上。
近年来,TUI 的开发工作流程发生了怎样的变化?
曾经让 TUI 开发感觉深奥的摩擦已经大大减少。现代框架附带热重载支持、集成测试实用程序和全面的文档。例如,文本包含一个基于浏览器的 Devtools 面板,可让您检查终端应用程序的实时 DOM——这个概念在十年前似乎很荒谬。
“终端不是传统界面,而是有史以来最耐用、最可组合的 UI 层。现代 TUI 框架最终使该层可供每个开发人员使用,而不仅仅是系统程序员。”
跨平台兼容性也显着提高。 Rust 中的 crossterm 和 Node 中的 Blessed 等工具规范了 Windows 终端、macOS 终端、iTerm2 和 Linux 终端模拟器的行为。 CI/CD 管道甚至可以运行无头 TUI 测试,从而为终端应用程序提供自动质量保证。
2024 年及以后 TUI 的实际业务用例是什么?
TUI 不仅仅适用于业余爱好者工具和开发者玩具。它们服务于跨行业的真正商业目的。内部管理仪表板、数据库迁移实用程序、具有交互式确认流程的部署脚本以及日志监控集成
Streamline Your Business with Mewayz
Mewayz brings 207 business modules into one platform — CRM, invoicing, project management, and more. Join 138,000+ users who simplified their workflow.
Start Free Today →Related Posts
获取更多类似的文章
每周商业提示和产品更新。永远免费。
您已订阅!