作業系統設計/圖形使用者介面
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 提供的易用性。