停止制作 TUI
基于文本的用户界面(TUI)正在重新受到审视,因为大型语言模型让“vibe code” 原生图形应用变得更容易,尤其是在 macOS 之类的平台上。评论者争论 TUI 的优势——速度快、资源占用低、适合 SSH、以键盘为中心的工作流、稳定且跨系统可移植——是否足以抵消它们的缺点,例如可访问性差、与操作系统集成较弱,以及与现代 GUI 和 Web 应用相比交互模式有限。许多人最终认为,选择应由受众和场景决定:开发者和远程/服务器工作流适合 TUI,面向大多数终端用户的任务则更适合 GUI 或 Web 应用,而两者都能从更好的工具和设计纪律中受益。
关于 TUI 与 GUI 的总体看法
- 许多评论者非常喜欢 TUI;也有人认为它们原始、容易出错,并且不如现代 GUI。
- 有几位表示“用对工具”:开发工具和重度用户工作流适合 CLI/TUI;面向终端用户的应用通常应该是 GUI。
TUI 的被认为的优点
- 适合通过 SSH、tmux/screen 使用,也适合无头或远程机器;会话容易在不同设备之间恢复。
- 资源占用低、响应快,而且通常没有动画或视觉杂乱。
- 以键盘为中心、信息密集,适配终端工作流;通过发送按键很容易自动化。
- 极其稳定的平台:终端和诸如 curses/ncurses 之类的库已经存在了几十年;TUI 往往几乎不需要维护。
- 默认跨平台;同一个 TUI 可以运行在 Linux、macOS、服务器上,有时也能在极简硬件上运行。
- 与设计高质量 GUI 相比,更容易做出“够用”的界面;约束简化了设计。
对 TUI 的批评与局限
- 可访问性通常较差;对操作系统可访问性 API 的支持很少。
- 与 GUI 桌面的集成较弱(拖放、文件关联、系统搜索、文档图标、标准快捷键)。
- 更难处理丰富的视觉任务(地图、图像编辑、复杂多栏文档);固定字符网格和有限的小部件是限制。
- 与纯 CLI 相比,许多 TUI 的可脚本化程度较低;除非明确设计为同时支持 CLI/TUI,否则也不容易通过管道使用。
- 终端约定与 GUI 约定相冲突(例如 Ctrl-C 行为、快捷键不一致)。
GUI 与 Web 的观点
- 有人认为原生 GUI 依然稳定(Qt、GTK、Cocoa、WinForms/WPF/WinUI),而且如果设计得好,可以很快且信息密集。
- 也有人抱怨现代 GUI/Web 应用偏爱触控、动画和留白,降低了效率和键盘可用性。
- 另一些人认为原生应用越来越不合时宜:图形用 Web 应用,文本用 TUI。
LLM 与“vibe-coded” UI
- 有几位指出,LLM 让“vibe code” SwiftUI 和其他 GUI 更容易,从而鼓励为个人用途制作一次性原生应用。
- 有人批评这篇文章是对这类项目的一个不连贯、为吸引点击而存在的展示;也有人觉得它连贯且鼓舞人心。
终端与 TUI 生态
- 新的 TUI 框架(Ratatui、Textual、BubbleTea 等)受到称赞;有人呼吁一种现代终端协议,内置可访问性和更丰富的语义。