这篇文章已登上 Hacker News 首页。 参见讨论。
上周我在 Hacker News 上看到一篇文章,鼓励应用程序开发者停止制作终端用户界面(TUI),转而专注于图形用户界面(GUI)。这篇文章登上了 HN 首页,并在评论区引发了热烈的辩论。
我认为辩论双方都有道理。 一方面,我理解文章作者支持 GUI 的论点。理论上,GUI 应用框架的能力是 TUI 对应框架的超集,因此应该优先选择。 另一方面,作为重度 终端用户,我 也 非常欣赏所有让我能“留在”终端里并满足我所有需求的 TUI。
但我想反对一个反复出现、在我看来缺乏坚实基础的支持 TUI 的论点。转述各位评论者的话:
应该选择 TUI,因为它们是键盘驱动的。
诚然,如果你随机挑选一个 GUI 和一个 TUI 应用,后者更有可能完全支持键盘驱动,但这并不足以让天平倾向于开发 TUI 而非 GUI^3。它真正凸显的是许多 GUI 应用在键盘导航方面的不足。
没有任何东西能阻止 GUI 像 TUI 一样——甚至比 TUI 更好地——实现完全键盘驱动4。事实上,许多 GUI 框架的应用设计指南明确鼓励 GUI 应用开发者提供覆盖应用全部功能的键盘驱动导航支持。
例如,GNOME 人机界面指南指出,就像应该可以用指点设备执行每个操作一样,每个操作也应该可以用键盘完成,并且应该可以用键盘移动并交互用户界面的每个部分。
这引起了我的共鸣。作为一名用户,能够仅用键盘直观且可预测地浏览 GUI 应用,会让我更有动力选择它而非其他替代品。
明白了这一点,当我戴上开发者帽子时,我必须确保我的应用程序对键盘友好。对于我的第一个 GUI 应用 Klisi,我投入了一些时间来实现覆盖全部可用操作的键盘快捷键。
在大多数情况下,键盘导航并不难实现,而且能带来更好的整体用户体验。这不是可行性的问题,而是应用开发者意愿的问题。
结论很简单。 不要在应用程序提供的用户体验上妥协。 努力让它尽可能直观。 为此,启用完整的键盘导航不应被忽视。
标签: