每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领域的领跑者。点击订阅,与未来同行! 订阅:https://rengongzhineng.io/

终端用户界面(TUI)正在重新流行起来。DHH 的 Omarchy 由三种用户界面构成:TUI(用于即时反馈以及额外的"极客加分")、Web 应用(因为他的公司 37signals 主营 SaaS Web 应用),以及那些不可避免的 GNOME 风格原生应用------但这些原生应用实际上并不太符合该发行版的整体风格。
类似的模式在大约十年前也曾出现于代码编辑器领域。我们从 BBEdit、TextMate(同样由 DHH 推广)、Notepad++ 和 Sublime 这些原生编辑器,转向基于 Electron 的应用,如 Atom、VSCode 以及它们的各种分支。而一部分"硬核"用户则转向 vim 或 emacs,在更高学习成本的代价下,换取即时反馈与更高效率。
Windows
教训已经很清楚:原生应用正在失去优势。Windows 在 GUI 库方面不断重复一个"标准笑话":当一个 API 不成功时,就再推出一个新的,然后这个新的也在众多替代方案中失败。
从 1992 年的 MFC(用 C++ 封装 Win32)开始,如果说 Win32 本身已经不优雅,那么 MFC 就像是"穿着西装的 Win32,而那件西装还是由更多西装拼起来的"。随后出现了 OLE、COM、ActiveX------这些虽然不完全是 GUI 框架,但它们渗透进 Windows 开发的各个角落,带来了极高的认知复杂度。
此后,微软又经历了 WinForms、WPF、Silverlight、WinUI、MAUI 等一系列框架,但都未能形成统一成功的生态。许多企业级和个人桌面应用仍然依赖 Electron,而用户最后一次感受到操作系统整体视觉一致性的时代,或许还停留在 Windows 98 或 2000。
不断重建操作系统和 UI API 本身就是一项巨大工程,再加上对沙盒机制和"过于强大功能"的反复限制,新框架往往会出现功能缺失------一些在旧框架中可以实现的功能,在新框架中反而无法实现。
Linux
Linux 的 UI 不一致性是"设计使然"。不同团队追求不同目标,并拥有实现它们的自由。GTK 和 Qt 成为两大主流框架。虽然 Qt 更为知名,但两者都曾尝试支持跨平台原生开发(例如,作者曾成功在 Windows 上编译 gedit)。然而,它们主要仍活跃于 Linux 生态。
幸运的是,不同工具包构建的应用在视觉上还能"勉强协调",这一点甚至优于 Windows 上各种框架之间的割裂。但问题在于:面对 Linux 发行版、桌面环境和硬件组合的多样性,测试成本极高,因此许多公司要么使用 Electron(进一步加剧封闭生态),要么干脆依赖开源社区自行解决。
macOS
苹果曾经像"一本教义统一的宗教"。其《人机界面指南》被全球 UI 课程广泛引用。施乐 PARC 和苹果曾是研究优秀人机界面的两大机构。
然而数十年后,苹果也在逐渐打破自己曾经建立的设计规范和一致性。例如忽视费茨定律,使窗口调整大小变得困难;在菜单中加入大量图标等。macOS 已不再是设计师可以安心工作的"净土"。
Electron
众所周知,Electron 应用的用户体验存在问题。虽然内存占用有所改善,但更大的问题在于视觉不一致性以及缺乏键盘驱动的操作方式。
例如在 Cursor 或 VSCode 中,当你在代理面板操作时,是否可以完全用键盘导航到侧边栏并执行操作?这些行为本应在 macOS 应用中保持一致。但现实是,许多 Electron 应用甚至缺乏完整菜单系统,导致功能难以发现或操作。
从零开始的尝试
Google 曾尝试通过 Dart 和 Flutter 构建全新的操作系统和 UI 工具链,但最终放弃。原因之一在于,这类尝试需要足够大的市场份额支持。
Zed 则用 Rust 构建了自己的 GPU 渲染框架(GPUI),虽然速度极快,但与操作系统的集成较弱,需要开发者自行补充。相比之下,作者更倾向于选择与系统深度集成、哪怕稍慢的方案。
TUI 的优势
TUI 具有速度快、易自动化、跨平台良好的优势,还可以轻松远程运行,无需复杂的图形转发机制。
当原生 UI 工具链失败时,人们往往回归基础。像 Claude 和 Codex 这样的工具在命令行环境中表现出色,因为用户可以专注于交互本身,而无需关心操作系统差异。
你甚至可以通过 iPad 远程操作一台高性能计算机。TUI 正在填补苹果和微软未能解决的空白。在一个"应用风格各异"的后现代软件世界中,这种统一的交互方式反而变得更加重要。
未来方向
界面的本质是减少用户思考成本。无论是方向盘还是在线表单,一个好的界面应该是直观且一致的。例如,如果 Command + C 表示复制,这个操作就应该在所有应用中保持一致。
因此,我们需要回归基础。开发者应学习用户界面设计理论(如 Nielsen、Norman、Johnson 的研究),而不是将 UI 视为"软技能"。如果界面设计不合理,项目就不应通过。
操作系统与工具链的开发者应承担更多责任,打造易用且稳定的开发框架,降低开发门槛,并延长平台生命周期。虽然不一定需要跨平台,但如果能提供统一解决方案,将有助于减少对 Electron 和 TUI 的依赖。