GUI
出自 MBA智库百科(https://wiki.mbalib.com/)
GUI(Graphical User Interface,圖形用戶界面)
目錄 |
GUI是指採用圖形方式顯示的電腦操作用戶界面。
GUI的發展歷史[1]
1.萌芽階段
最早的視窗系統概念是隨著第一個電腦實時圖形顯示系統的出現而提出的,即SAGEProject(美國空軍防空系統)和IvanSutherland編寫的Sketehpad(Sketehpad被公認為是電腦輔助繪圖(CAD)程式的創始者,並對現代電腦圖形用戶界面的發展產生重大影響)。
Sketchpad當時在麻州理工學院的林肯TX.2電腦上運行。它使用了一個xIy點圖像顯示器和當時剛發明的光筆。
1960年DougEngelbart在SRI(StenfordResearchInstitute)發展了OLS線上系統,在軟體界面中增加了游標和多視窗。
1970年,SRI的部分研究員進入施樂PARC(PaloAltoResearchCenter帕洛阿爾托研究中心),並完成了第一個WIMP(窗戶,圖標,菜單和指針廠F拉式菜單)的演示。
1973年,第一臺使用Alto操作系統的電腦在施樂公司PARC研究中心開發完成。Alto是第一個具備了所有現代圖形用戶界面的基本元素特征的操作系統。特點:使用三鍵的滑鼠;點陣圖的顯示器;圖形視窗的運用。
2.發展階段
1980年,ThreeRivers電腦公司發佈Perq圖形工作站。
1981年,施樂公司發佈施樂8010(Star)作為Alto的替代產品。特點:可雙擊的圖標,可重疊的視窗,對話欄,解析度達到1024*768的單色顯示器。
1983年,蘋果公司發佈Lisa。特點:下拉菜單和主菜單條。Visi公司發佈Vision,這是第一款使用完整的圖形界面並針對mM個人電腦環境的電子圖表軟體。圖形用戶界面最初的實際運用是Vision公司用來設計電子錶格。首先將“視窗”和滑鼠的概念引入個人電腦,這比微軟的第一版Windows還早。
1984年,蘋果公司發佈Macintosh系列電腦Macintosh是第一個成功運用圖形用戶界面的商業產品。虛擬的桌面概念開始使用,文件看起來就象一張紙,目錄看起來像文件夾一樣:還有一組桌面小工具,如電腦、筆記本和時鐘等。所有這些東西用戶都可按自己的需要在屏幕上隨意放置,也可以通過把文件和文件夾拖入屏幕上的廢紙簍來刪除文件。
1985年,Ge0s在蘋果公司的ApplelI之後發佈Commodore64系統。微軟發佈視察操作系統Windows的第一個版本。
1987年,蘋果發佈MacintoshII型電腦,這是Macintosh的第一款彩色顯示機型。特點:顯示達到640*480的解析度,256色。微軟發佈Windows的第二個版本,特點:視窗具有了可疊加、可改變大小的新功能。Acorn公司發佈為Acorn電腦開發的“Arthur”圖形界面操作系統。
1988年,蘋果發佈為AppleIIGS開發的16位操作系統GS/OS,其圖形界面與蘋果的Macintosh系列十分類似。IBM發佈增加了圖形用戶界面的OS/21.10標準版(OS/21.0還完全是命令行模式)。這個版本的圖形用戶界面是由微軟編寫的,所以整個界面看起來和Windows2很像。
1990年,Commodore發佈A3000機型使用的AmigaWorkbench2,特點:增加了三維的凹凸效果,增加了系統菜單。微軟發佈Windows3.0。GeoWorks發佈PC-GEOS。
1992年,IBM發佈32_bit真彩的操作系統OS/2Version2.0。微軟發佈Windows3.1。AGAAmigas電腦的AmigaWorkbench3系統發佈
1993年,微軟發佈WindowsNT的第一個版本,這是微軟全新的32位操作系統,它採用了和Windows3.1一樣的版本號和圖形用戶界面。
1994年,QNXSoftwareSystems發佈第一個嵌入式微視窗系統PhtotnmicmGUI,資源管理器視窗就是嵌入式多視窗技術的典型運用。
1995年,微軟發佈Windows95。Agenda96發佈。
1996年,NewDealOffice2.5發佈,它的前身是PC.GEOS。IBM發佈OS/2Warp4。微軟發佈與Windows95界面完全一樣的WindowsNT4.0。
1997年,蘋果MacOS8發佈,併在短短兩周內賣出了一百二十五萬份,成為當時最暢銷的軟體。
1998年,微軟發佈Windows98。特點:InteractExplorer網路器取代了傳統的視窗形式,整個幫助系統也由IntemetExplorer所取代,廣告放置在桌面右上角。
1999年,蘋果發佈MacOSXServer,這是一款基於Unix的操作系統,沿用了蘋果Macintosh的圖形用戶界面。RISCOS公司發佈適合RiscPC、A7000、A7000+電腦的RISCOS4操作系統。
2000年,蘋果公司公佈發佈MacOSX,採用全新水晶圖形界面。微軟Windows2000(AKAWindowsNT5)正式發售。
2001年,微軟發佈WindowsXP。微軟下一代操作系統對用戶界面設計進行了巨大投入,“期望通過它改變人們使用電腦的方式”。
在電腦出現半個世紀的時間里,圖形界面經過不斷完善,逐步成熟,並完全取代了命令語言界面,成為現代軟體界面的主導形式。圖形用戶界面是人類歷史上最偉大的發明創造之一,它對電腦的普及與進一步發展具有深遠的意義。施樂、蘋果、微軟等公司在這個過程中發揮了重要作用。
GUI特征[2]
一般而言,在屏幕上GUI表示信息的矩形區域稱為視窗。視窗相互問可以重疊。用戶可以在視窗上執行多種操作,如改變大小和位置。視窗可以包含對象,每個對象的圖形表示稱為圖苻。整個視窗可以縮小為一個圖標.用戶也可以將圖符恢覆成視窗。
高級的GUI幾乎完全取消了鍵人命令的需求,用戶只需使用滑鼠和功能鍵進行選擇就可以了。視窗還可以包含其他圖形實體(如滾動條、滑動軒和按鈕)以便用戶控制視窗的內容,給應用系統提供額外輸入。
和傳統的程式設計相比,表示邏輯的最大差別是表示總使用戶處於邏輯控制之中。因此傳統的結構化程式設計所包括的輸入、輸出部分和處理部分要進行修改。GUI程式設計必須能隨時接受和處理用戶或系統的非同步事件。
1.事件類型
用戶生成的輸人事件和系統生成的事件隨GUI實現的不同而有很大差異共同的事件類型有:
(1)滑鼠事件:用戶將滑鼠移進或移出一個實體、在實體內外按鍵,釋放一個鍵。
(2)鍵盤事件:用戶按下或釋放一個鍵
(3)菜單事件:用戶從菜單中選擇一個命令。
(4)視窗更改事件:應用系統視窗的某個部分被重疊時必須重畫。
(5)視窗大小的更改:用戶更改視窗的大小。
(6)澈活、掛起事件:由GUI生成以便用戶改變當前活動的視窗。
(7)啟動、終止事件:創建、消滅GUI實體以便應用系統能進行必要的創建、刪除邏輯。
2.事件分佈
這些事件必須由表示邏輯和應用邏輯來協同處理,將必要的處理分佈到了GUI、應用邏輯以及特定的GUI應用程式設計介面(API)之中。一般而言,API是特定的GUI庫常式執行下列功能:創建視窗和顯示各種圖形。因而有下列幾種事件分佈處理模型:
(1)事件迴圈模型:這種模型而言,應用子系統必須包括一個事件迴圈,由事件迴圈調用一個特定的庫倒程檢查是否有事件發生。每個產生的事件引起應用系統在控制返回給事件迴圈之前發出一個事件處理常式。為了使用戶感到總是在控制之中,應用系統必須迅速返回事件控制甚至在事件處理還沒有完成的情況下就返回。
(2)事件回調模型:這模型需要應用系統為每個GUI創建的實體註冊一個事件處理函數因而就從前面重要的事件迴圈中釋放了應用系統。在GUI檢查到實體的一個事件時(如菜單命令或擊鍵),它就調用合適的應用系統事件常式應用系統僅在實體初始化或調用其事件處理常式時取得控制。
(3)混合模型:這個模型將事件迴圈模型和事件回調模型組合了起來。MicrosoWindows就利用了一個混合模型(其中應用系統必須包含一個事件迴圈)來調用常式取得下一個事件一個應用系統也可以調用另一個API常式,API常式反過來可調用系統的事件處理器。
3.GUI輸出特征
GUI的輸出特征隨GUI的不同而有很大差異:
(1)坐標空間描述了兩維坐標系統以便GUI通過定義圖空間的開始點和解析度來確定屏幕上單個象素的位置。大多數GUI將開始點放在顯示器的左上角.而坐標向右向下增加,在某些介面中,如OS/2的PresdntationManager,開始點放在左下角,而坐標向右向上增加。不同GUI的坐標系統在解析度上也有差異,解析度以每英寸點的個數來度量(DPI),一般有75DPI100DPI等。對字元終端而言,點就是一個字元。應用系統必須要考慮到坐標空間和解析度,這樣才能在屏幕上畫出正確的圖形。
(2)畫圖演算法描述了特定GuI畫線,中心線以及聯接線的方式。差4有時是比較顯著的。例如兩個點間的三個象素寬的一條線,既可以以端點為中心,也可以在端點上或端點下。當然,在低分辨的平臺上,線看起來都一樣-但在高解析度的顯示器上.線就可能中斷或重疊。
(3)色彩影響著GUI畫的圖的觀感。各種顯示設備的色彩有很大差異。GUI本身對色彩的處理也不同,而且使用不同數目的位來表示色彩,這樣就決定了色彩的精確程式。
(4)文本表示在圖形方式下和字元方式下有很大差異在GUI環境中,文本以圖形方式來處理,而且有很大的選擇範圍。這些參數包括色彩、字元大小、字體和風格。