Skip to content

UI ​

元信息 ​

  • 目标:建立界面形态的分类框架——按渲染方式(TUI/GUI/NUI)与交互方式(命令行/窗口/可穿戴)理解界面演化,定位 Web 界面"窗口容器 + 文本模式渲染"的混血特性,展望 Gen UI 的生成方式变革
  • 关键概念:TUI、GUI、NUI、命令行界面、窗口界面、可穿戴界面、Gen UI
  • 关联阶段:cp4
  • 常见误区:以为 GUI 只是 TUI 的简单升级(渲染单元从字符到像素,带来的是像素级绘制与标准控件两套体系);以为 Web 界面就是纯 GUI(页面在窗口容器中运行,但主要基于文本模式渲染,canvas 才补上像素级绘制);以为 NUI 全面优于 GUI(自然交互亲和但精确性低,"一个点击能解决的事不必啰嗦",混合交互常是更优解)

用户界面 ​

用户界面指用户与应用之间进行交互的一组媒介元素和行为模式。分类有两条轴,各答一问:画面用什么画(渲染方式),人用什么操作(交互方式)。

  • 按渲染方式:文本用户界面(TUI)、图形用户界面(GUI)、自然用户界面(NUI)
  • 按交互方式:命令行界面(CLI)、窗口界面(window)、可穿戴界面(wearable)

两条轴大体结伴而行:命令行跑在 TUI 上(字符进、字符出),窗口跑在 GUI 上;NUI 则开始挣脱——交互靠说、靠比划,画面甚至不再有固定的"单元"。

文本用户界面 TUI ​

文本用户界面的最小渲染单位是文本字符(ASCII 或 Unicode),继承自传统的印刷系统:

  • 最小图形单元是字符,字符的形状由字体库决定
  • 屏幕被划分为固定的行列,如标准终端是 80 列 × 24 行
  • 优点是简单易用:字符相当于预制好的组件,拿来即用
  • 缺点是精度不足:受限于字符与字体,不能随心所欲地在屏幕上绘制任何形状与布局

有爱好者用文本字符拼出各种图形,称为 ASCII 艺术(ASCII art):asciiart.eu · Amiga ASCII 艺术;也有反向的尝试——在 PowerShell 文本终端里画像素。

图形用户界面 GUI ​

图形界面的最小渲染单位是像素,典型代表是 Windows、macOS 等窗口系统,允许应用程序以像素为单位在屏幕上绘制各种图形:

  • 提供基于像素的绘制能力与 API,允许高度定制,虽然门槛较高
  • 提供一组标准窗口控件与 API,解决基本界面元素的绘制问题——著名的 C++ MFC 类库、Java SWT 等
  • 提供桌面模式,各控件以像素级精度对齐——所以窗口软件又称桌面软件
  • 窗口系统自带标准文本输出模式(字库),兼容 TUI

自然用户界面 NUI ​

自然用户界面以语音、手势、触控、行为等人类自然交流方式实现人机交互,核心特征是不再依赖字符、窗口这类标准化界面元素:

  • 语音:对话即指令
  • 体感:眼动、手势、动作、触觉、温度
  • 行为:连续的动作、全息的环境

命令行界面 ​

古老的交互形式:键盘(字符级)输入 + 文本输出,命令式操作模式:

  • 程序的执行由一行接一行的命令组成:命令 + 参数 + 文件 = 动词 + 名词
  • 闪烁的光标指示当前输入(焦点)的位置
  • Ctrl-C、Ctrl-Z、Ctrl-P、Ctrl-N 等快捷键
  • 管道符、重定向等数据处理流

窗口界面 ​

GUI 诞生后的交互形式:鼠标(像素级)输入 + 标准化窗口输出,面向对象的操作模式:

  • 程序由多个窗口组成;窗口外观统一(方方正正),由标题栏、菜单栏、状态栏等标准组件构成;右上角是基本菜单(最大化、最小化、关闭),左上角是应用自定义菜单
  • 打开或关闭一个程序,即打开或关闭一个主窗口;切换主窗口即在不同程序进程间切换——切到前台的焦点窗口即当前进程,可接收用户输入
  • 先选择,后操作:文件 + 配置 + 操作 = 名词 + 动词
  • 左键单击选择,左键双击执行,右键单击出上下文菜单

可穿戴界面 ​

NUI 与 AI 时代的新型交互形式:可穿戴输入设备 + 多模态输出,采用更贴近人类自然行为的模式:

  • 初级的例子是移动设备的触摸、拍照等新输入模式,大大降低了电子设备的使用难度;高级的例子是 AI 眼镜、AI 耳机
  • 另一种观点是混合交互模式:NUI 的人类亲和性 + GUI 的高效性

一个点击就能解决的事情,为什么要啰嗦呢?汽车要不要保留实体按键、有了强大的 AI 还要不要人类的判断——这不仅是一个 UI 设计问题,也是人类社会如何运转的问题。

Web 界面与应用 ​

Web 诞生于 TUI 时代(终端下的浏览器),成熟于 GUI 时代,如今以桌面软件的形态运行,融合了两种界面的特性:

  • 页面在窗口容器中运行,但主要基于文本模式渲染
  • 将各种二进制格式标准化、语义化,如 MathML、SVG
  • 支持嵌入图片、视频等像素级图形资源
  • HTML5 引入画布 canvas,允许 JavaScript 在画布里绘制像素级图形——至此才补上 GUI 的看家本领
  • 未来 Web 同样将接入 NUI,如 WebXR(VR/AR 进浏览器)

把 Web 放回两条分类轴上,混血的位置一目了然:

Web 界面的特点 ​

Web 生来的开放与跨平台,使其在交互形式上超越普通窗口应用:

  • 链接跳转;链接收藏;链接分享
  • 上一步;下一步;刷新

Web 界面的本质是:打破桌面软件的孤岛,将信息世界完全联结起来,是人-机体验与机-机互通这两者之间的平衡。

界面发展的时间线 ​

这里的用户指的是普通用户;专业用户还可以通过其它界面与 Web 应用交换信息,如 WEB API(应用程序接口)

Gen UI ​

前文都在讲界面长什么样,还有一问:界面怎么来?传统的答案是程序员驱动 + 静态开发——先写代码,设计时编译出一个固定界面。未来的演进趋势是语义驱动 + 运行时生成:

  • 程序员驱动 → 用户驱动
  • 编码实现 → 语义描述
  • 设计时静态编译 → 运行时动态生成
  • 一应用一界面 → 多应用一界面;多用户一界面 → 一用户一界面
  • 模板 → 组件 → 语义

最后一条自问:这条路线,是不是与 HTML 标记的设计初衷、前端技术的发展路线一脉相承?

参考 https://claudecode.io/zh/blog/imagine-with-claude