操作系统设计/图形用户界面
GUI 显示视觉元素,例如图标、窗口和其他小工具。GUI 的前身是由斯坦福研究所 (由 Doug Engelbart 领导) 的研究人员发明的,他们开发并使用了基于文本的超链接,并使用鼠标对 On-Line System 进行操作。超链接的概念由 Xerox PARC 的研究人员进一步改进和扩展到图形,他们超越了基于文本的超链接,并使用 GUI 作为 Xerox Alto 计算机的主要接口。大多数现代通用 GUI 都是从这个系统派生的。因此,有些人将此类接口称为 PARC 用户界面 (PUI)(请注意,PUI 也是感知用户界面的首字母缩略词)。PUI 由图形小部件 (通常由小部件工具包库提供) 组成,例如窗口、菜单、单选按钮、复选框和图标,并且除了键盘之外还使用指向设备 (例如鼠标、轨迹球或触摸屏)。PUIs 的这些方面可以通过使用替代首字母缩略词 WIMP 来强调,WIMP 代表窗口、图标、菜单和指向设备。
我们今天在 Mac 或 Windows 操作系统及其应用程序中所熟悉的 GUI 起源于 20 世纪 70 年代后期的 Xerox 帕洛阿尔托研究中心。苹果公司将其应用于其首款 Macintosh 计算机,随后是 Atari 的 ST 系列,以及 Commodore 的 Amiga。后来,微软在其为 IBM 兼容 PC 开发的第一个版本的 Windows 操作系统中使用了许多相同的想法。支持 GUI 的系统示例包括 Mac OS、Microsoft Windows、NEXTSTEP 和 X Window System。后者通过 Motif (CDE)、Qt (KDE) 和 GTK+ (GNOME) 等工具包进行了扩展。
最显著的是,在计算机游戏中可以找到不是 PUI 的 GUI,而基于虚拟现实的先进 GUI 现在经常出现在研究中。北美和欧洲的许多研究小组目前正在研究缩放用户界面 (ZUI),它是 GUI 的合乎逻辑的发展,将一些 3D 运动与 2D 或“2.5D”矢量对象相结合。一些 GUI 是为垂直市场的严格要求而设计的。这些被称为“特定于应用程序的 GUI”。这种特定于应用程序的 GUI 的一个示例是现在在全球餐厅中广泛使用的熟悉触摸屏点对点销售软件,并正在引入自助零售收银台。这种特定于应用程序的触摸屏 GUI 最初由 Gene Mosher 于 1986 年在 Atari ST 计算机上开创,它在食品饮料行业和一般零售中引发了全球范围内使用计算机的革命。特定于应用程序的触摸屏 GUI 的其他示例包括最新的自动取款机、航空公司自助售票、信息亭以及使用实时操作系统 (RTOS) 的嵌入式工业应用程序中的监控/控制屏幕。最新的手机和掌上游戏机也采用了特定于应用程序的触摸屏 GUI。
GUI 的引入是为了应对命令行界面 (CLI) 的陡峭学习曲线,CLI 是基于文本的用户界面,需要在键盘上键入命令。由于 CLI 中的命令词通常很多且可组合,因此可以使用相对较短的单词和符号序列来调用非常复杂的运算。这在学习了大量命令后会导致很高的效率,但达到这个水平可能需要一段时间,因为命令词不容易发现。另一方面,WIMP 向用户展示了许多小部件,这些小部件代表并可以触发系统可用的某些命令。大多数现代操作系统都提供 GUI 和 CLI,尽管 GUI 通常会受到更多关注。GUI 通常基于 WIMP,尽管偶尔会出现其他隐喻,例如 Microsoft Bob、3dwm 或 (部分) FSV。应用程序也可能提供这两种接口,如果它们这样做,GUI 通常是 CLI 版本的 WIMP 包装器。后者通常首先实现,因为它允许开发人员专注于其产品的功能,而无需担心接口细节,例如设计图标和放置按钮。如今,GUI 不再被视为大多数应用程序的可选部分,因为用户已经习惯了熟悉的 GUI 提供的易用性。