為什麼 Mac 應用程序永遠不會“關閉”?
我是 Linux/Windows/Mac 使用者。我喜歡所有的系統,*nixes 多於 Windows,但我仍然喜歡所有系統。
我今年開始使用 Mac,而我無法理解的 Linux 和 Windows 之間的區別是:為什麼當我點擊“x”按鈕時應用程序永遠不會關閉,因為這就是 Linux 和 Windows 的行為方式?我需要按 cmd+q 或通過向上菜單退出。
我的意思是,這只是與所有這些不同,還是有這種行為的原因?我看不出有什麼優勢。如果我想關閉,我想關閉。時期。
任何人都知道其中的原因嗎?
從某種意義上說,這是一種 UI 約定,其歷史可以追溯到 1984 年。由於 Windows 和 X11 都比最初的 Mac GUI 晚,人們可能會說 Windows 以 Windows 的方式“只是為了與眾不同”而不是暗示Mac是古怪的。
早在 Macintosh 的早期,您一次只能執行一個應用程序。應用程序在沒有視窗的情況下打開是完全合理的,因為該應用程序始終在螢幕頂部有一個可見的菜單欄。當您關閉應用程序的所有視窗時,保持應用程序打開是有意義的,因為您始終可以使用菜單欄創建新文件或打開現有文件。僅僅因為視窗關閉而退出程序在當時沒有任何意義,因為沒有其他程序可以讓出焦點。
幾年過去了,80 年代後期的 Macintosh 發展到有足夠的記憶體可以同時打開多個應用程序。由於執行此操作的工具必須保持與現有應用程序的向後兼容性,它們自然不會更改基本的 UI 約定並在沒有打開任何視窗的情況下殺死應用程序。結果是 UI 中的可視 GUI 元素(視窗)和抽象執行程序(應用程序)之間的明顯區別。
與此同時,微軟一直在開發 Windows。到 90 年代初,微軟的 Windows 3.X 執行良好,X11 上的 Motif 深受微軟工作的啟發。雖然 Macintosh 是圍繞呈現應用程序 UI 建構的,但 Windows(顧名思義)是圍繞著 Window 本身應該是 UI 的基本單元的理念建構的,應用程序的唯一概念是形式為MDI 風格的容器視窗。從 UI 的角度來看,X11 還認為應用程序在很大程度上並不重要。單個程序甚至可以在多個顯示器上打開視窗,這些顯示器通過(非常新穎的)區域網路連接到多台機器。
Windows 風格方法的問題在於,您無法進行某些形式的使用者互動,例如僅使用菜單欄打開,並且使用者無法真正保證在視窗消失時程序已實際退出。Macintosh 使用者可以輕鬆切換到沒有 Windows 執行的應用程序以退出或使用它,但 Windows 絕對沒有為使用者提供與此類程序互動的方式。(除非在任務管理器中註意到它並殺死它。)此外,使用者不能選擇讓程序執行,以便他們可以在不重新啟動它的情況下返回它,除非讓一些可見的 UI 不讓程序混亂螢幕,並消耗(當時非常有限)資源。Macintosh 有一個用於切換的“應用程序”菜單,而 Windows 則流行了一個“工作列”。它顯示所有頂級視窗,而不考慮打開它們的程序。對於繁重的多任務處理者來說,“工作列湯”被證明是笨拙的。對於更基本的使用者來說,關於什麼是“頂級視窗”的確切資格的可預測性有時會令人困惑,因為沒有關於哪些視窗會實際顯示在欄上的可學習規則。
到 90 年代後期,微軟的 GUI 是最常用的。大多數使用者擁有一台 Windows PC,而不是 Macintosh 或 UNIX X11 工作站。因此,隨著 Linux 的普及,許多開發人員都來自使用 Windows UI 約定而不是 UNIX UI 約定的背景。這與早期工作的歷史相結合,例如從 Windows UI 約定中提取的 Motif,導致現代 Linux 桌面環境的行為更像 Windows,而不是像 twm 或 Macintosh 這樣的經典 X11。
在這一點上,“經典”Mac OS 已經與 Mac OS 9 一起執行,Macintosh 變成了一台 Unix 驅動的機器,其內部結構與 Mac OS X 截然不同。因此,它繼承了 NeXT UI 的 Dock 概念。在最初的 NeXT 機器上,使用了 X11,但具有一組相當獨特的小元件和 UI 約定。其中最有特色的可能是 Dock,它是一種組合程序啟動器和任務切換器。(OS-X 中已知的“多列”打開文件對話框也來自 NeXT,以及其他一些可見的東西。不過,OS-X 過渡中最顯著的變化都是不可見的。) Dock與 Macintosh 的“應用程序作為基本 UI 元素”的概念配合得很好。所以,使用者可以通過停靠圖示上的標記看到應用程序已打開,然後通過點擊切換到該應用程序或啟動它。由於現代 OS-X 現在比經典的 Mac OS 更好地支持多任務處理,因此使用者可能希望在後台執行各種東西突然變得有意義,例如一些在後台執行的影片轉換軟體、螢幕錄像機、VOIP 軟體、網際網路收音機、網路伺服器、響應口頭命令而說話的東西等。這些東西都不一定需要打開可見視窗才能保持合理的使用者體驗和菜單bar 仍然與螢幕頂部的視窗分開,您可以直接在停靠圖示上擁有一個菜單,因此使用者始終可以與沒有打開 UI 的程序進行互動。所以,放棄保持應用程序打開的現有慣例,只是為了更像 Windows,大多數 Mac 使用者會認為這是朝著錯誤方向邁出的可怕一步。它使幾種互動模式變得不可能,沒有真正的好處。
顯然,有些使用者更喜歡 Windows 約定,但兩者都不是“可證明正確的”。但是,如果沒有任何充分的理由,從這樣有用的東西遷移出去是沒有意義的。希望這次通過一些歷史之旅可以為您提供一些您認為有用的背景資訊。