macOS 設(shè)計指南(1.應用程式架構(gòu))-翻譯

Full-Screen Mode全屏模式

全屏模式下的應用程序窗口提供了無干擾的工作環(huán)境。

工具欄,菜單和其他標準控件通常僅在用戶調(diào)用它們時被隱藏和顯示,例如通過將指針移動到屏幕頂部。

一些應用程序甚至隱藏必要的控件,以增加對內(nèi)容的關(guān)注。 控件被隱藏,例如,在QuickTime Player中播放電影或Photos中的幻燈片時。

1.僅在有意義的情況下啟用全屏幕窗口。

當用戶想要沉浸在任務中時,全屏模式很有用。 然而,并不是所有的應用程序都需要這種沉浸。

例如,一些實用程序應用程序,如計算器,與其他應用程序一起放置在屏幕上的較小的窗口更好。 將iOS應用移植到macOS時,不要以為該應用程序應該支持macOS中的全屏模式。

2.當完成任務時,保持工具欄可見; 當焦點在內(nèi)容時隱藏它。

可以設(shè)置全屏窗口以一直顯示工具欄,或僅當用戶將指針移動到屏幕頂部時。

例如,日歷會始終顯示工具欄,可以快速訪問必要的導航和日程管理控制。 另一方面,預覽隱藏工具欄,因此用戶可以專注于閱讀或查看內(nèi)容。

3.保留訪問基本功能。 確保所有必需工具在全屏環(huán)境中仍然可用。 用戶應該能夠完成任務而不退出全屏模式。

4.配置輔助窗口以用于全屏模式。 全屏輔助窗口必須正確配置,以便可以在全屏內(nèi)容之上顯示。 有關(guān)開發(fā)人員的指導,請參閱NSWindowCollectionBehaviorFullScreenAuxiliary。

5.設(shè)計與外部文件的高效交互。 用戶不需要退出全屏模式來打開文件,導入圖像,保存文件或執(zhí)行其他文件系統(tǒng)交互。 考慮如何在全屏環(huán)境中使這些功能可用。 例如,如果您需要提供對圖像的訪問,則可以實現(xiàn)內(nèi)置的圖像瀏覽器。

6.利用額外的屏幕空間,但保持您的界面轉(zhuǎn)換順利。 全屏幕時,大多數(shù)窗口的寬度和高度都會增長。 如果適當,您可以巧妙地調(diào)整界面的比例,使Windows更適合于空間,并提升執(zhí)行任務或查看內(nèi)容所必需的區(qū)域。 只需確保轉(zhuǎn)換不會刺激,并且您的界面仍然可識別。 例如,當在Photo Booth進入全屏幕模式時,用戶永遠不會在觀看區(qū)域看不到自己。

7.尊重進入任務控制的手勢。 標準的任務控制手勢應該始終工作。 即使您的應用程序是唯一的重點,用戶應該能夠調(diào)用任務控制,以便在其打開的窗口,全屏應用程序,桌面,空格和儀表板之間快速預覽和導航。 這個規(guī)則也適用于游戲。

8.當用戶切換到您的應用程序時適當回應。 當用戶在切換之后返回到您的應用程序時,應該能夠恢復他們離開的位置。 例如,當用戶離開應用程序時,游戲或照片幻燈片應自動暫停。

9.讓用戶選擇何時退出全屏模式。 當用戶切換到另一個應用程序或當一個活動(如播放電影或游戲)完成時,避免自動退出全屏模式。

10.一般來說,讓用戶露出Dock。 當您的應用程序處于全屏模式時,保持對Dock的訪問非常重要,因此用戶可以快速打開應用程序和其他Dock項目。 一個例外是在沉浸式游戲中,屏幕的邊緣是體驗的一部分。

Loarding 加載

人們想要一個按照命令行事的應用程序,并告訴他們處理需要多長時間。 如果您的應用程序呈現(xiàn)空白或靜態(tài)內(nèi)容,并且不提供反饋,人們可能認為您的應用程序被凍結(jié),導致混亂和沮喪。

1.提供用戶交互的即時確認。用戶期望每次與您的應用互動時都會收到一些類型的反饋。

例如,在整個系統(tǒng)中,當按鈕被點擊時,按鈕可以視覺響應,并且當指針在屏幕上不同的控件和區(qū)域上移動時,指針會改變。您的應用程式越快提供使用者互動的反饋意見,顯示效果就越好。

2.幫助人們衡量一個過程需要多長時間才能完成。用戶并不總是需要準確地知道任務需要多長時間,但重要的是給他們一個估計。

至少顯示一個表示正在發(fā)生的事情的活動旋轉(zhuǎn)器。理想情況下,顯示一個明確的進度指標和補充描述性文本。

例如,F(xiàn)inder將進度條與說明文本相結(jié)合,以顯示復制操作需要多長時間。

3.盡快顯示內(nèi)容。如果在看到結(jié)果之前讓人們等待內(nèi)容加載,他們可能會將內(nèi)容的缺乏解釋為遲鈍。

而是顯示內(nèi)容不可用的占位符文本,圖形或動畫,并在內(nèi)容加載時替換這些元素。只要有可能,在后臺預加載即將到來的內(nèi)容,例如在播放動畫或進行用戶交互時。

4.有關(guān)其他指導,請參閱進度指標并提供用戶反饋。

Modality 模態(tài)

模態(tài)通過輸入無干擾的上下文來創(chuàng)建焦點,防止人們在完成任務或關(guān)閉消息或視圖之前執(zhí)行其他操作。 警報和工作表是模式視圖的示例,在用戶可以繼續(xù)執(zhí)行任務之前必須先關(guān)閉模式視圖。 在某些模式上下文中,與當前任務無關(guān)的功能和交互可能會被暫時禁用。 例如,預覽中的草圖模式會阻止某些用戶操作(如選擇或添加文本),直到用戶退出該模式。

1.最小化使用模式。一般來說,人們喜歡以非線性方式與應用進行互動。

考慮創(chuàng)建一個模態(tài)上下文,只有當一個任務需要完成或放棄才能繼續(xù)使用該應用程序,當一個任務要求模態(tài)(如在圖形應用程序中使用圖形或選擇工具)保存重要數(shù)據(jù)。

2.范圍適用范圍一般來說,選擇最有限制的模式。

例如,如果任務必須在文檔窗口中執(zhí)行某些操作之前完成,請考慮使用工作表,該工作表會禁用文檔中的交互,但讓用戶繼續(xù)使用應用程序的其他部分。有關(guān)相關(guān)指導,請參閱表格。

3.提供一種明顯而安全的方式來退出模式語境。人們不應該被困在模式上。

例如,您可以啟用模式彈出窗口,當用戶單擊屏幕上的另一個區(qū)域時,它將自動關(guān)閉。一般來說,最好保存用戶的工作,以防他們退出模式而無意義。當用戶離開模式背景時,用戶應該總是知道他們的行動結(jié)果。

4.保持模態(tài)任務簡單,簡短和狹義。人們不應該將您的應用視為一系列不相交的任務或過渡,導致混亂的工作流程。

如果模態(tài)任務太復雜,用戶可以忽略他們進入模態(tài)環(huán)境時暫停的任務。盡可能地保留小型獨立任務的模式。

基于模式的指針


基于模式的工具欄圖標突出顯示

5.清楚地顯示當前模式。

如果您的應用程序包含不同的模式,可以讓人們輕松地了解他們所處的模式。

例如,在草圖模式下,“預覽”會顯示不同的指針樣式,并在編輯工具欄中突出顯示模式的圖標。

6.保留警報,提供基本和理想的可操作信息。警報中斷了經(jīng)驗,并要求采取行動解雇,所以對于人們來說重要的是認為入侵是有必要的。

如果必須顯示警報,請務必清楚描述問題,解釋為什么發(fā)生這種情況,并提供進行的選項,包括可能存在的任何解決方法。有關(guān)其他指導,請參閱警報。

7.尊重通知偏好。在“系統(tǒng)偏好設(shè)置”中,用戶可以指定他們希望從應用程序接收通知。遵守這些偏好,使用戶不會完全關(guān)閉您的應用的通知。

8.不要在popover上方顯示模態(tài)視圖。除了警報之外,在popover上也不會出現(xiàn)任何內(nèi)容。在少數(shù)情況下,當您需要在彈出窗口中執(zhí)行操作后顯示模態(tài)視圖,請在顯示模態(tài)視圖之前關(guān)閉該彈出窗口。

Onboarding 新手上路

啟動時間是您首次搭載新用戶并重新連接返回的用戶。設(shè)計快速,有趣和教育的發(fā)射體驗。

1.避免向前詢問設(shè)置信息。人們期望應用程序正常工作。為大多數(shù)設(shè)計您的應用程序,并讓少數(shù)需要不同配置的人調(diào)整偏好以滿足他們的需求。在最大程度上,從系統(tǒng)和默認值導出設(shè)置信息,或通過像iCloud這樣的同步服務。如果您必須要求設(shè)置信息,請等到實際需要,提示一次,然后讓用戶在應用的偏好設(shè)置中進行調(diào)整。

2.建立適用于大多數(shù)人的默認配置。如果您很好地衡量觀眾的需求,則很少需要對默認設(shè)置進行調(diào)整。

3.快速行動起來避免顯示初始屏幕和說明,使其需要更長的時間來實現(xiàn)內(nèi)容并開始使用您的應用程序。相反,讓人們直接潛水。如果您的應用程序需要教程或簡介序列,請?zhí)峁┮环N方式來跳過它們,而不會將其顯示給返回的用戶。

4.預計需要幫助。主動尋找人們被困的時代。例如,一個游戲可以隨時顯示有用的提示,當暫停或一個角色不推進。讓用戶重新訪問教程,以防他們第一次錯過任何事情。

5.堅持教程中的要點。為初學者提供指導是很好的,但教育不能代替?zhèn)ゴ蟮膽贸绦蛟O(shè)計。首先,讓您的應用直觀。如果需要太多的指導,請重新審視您的應用程序的設(shè)計。

6.使學習樂趣和可發(fā)現(xiàn)。通過閱讀來閱讀指導書,學習更有趣和有效。使用動畫和互動教學逐漸和上下文。避免顯示交互式的截圖。

7.提供綜合幫助。將幫助標簽添加到特定于應用程序的控件,并通過幫助查看器考慮提供面向任務的文檔有關(guān)指導,請參閱幫助。

8.自動保存用戶的工作。人們期望他們的內(nèi)容能夠不間斷地得到保存,而不需要干預如果您的應用程序是基于文檔的,請啟用自動保存。請參閱自動保存。

9.始終準備停止并重啟。大多數(shù)人不區(qū)分關(guān)閉應用程序的主窗口并退出應用程序。如果您的應用程序有單個窗口,則在用戶關(guān)閉窗口時自動退出。

Preferences 優(yōu)先

首選項是您的應用程序從會話到會話記憶的用戶定義設(shè)置。用戶調(diào)整首選項以自定義應用程序的外觀和行為。例如,F(xiàn)inder包括喜歡自定義桌面和側(cè)邊欄的外觀,顯示文件擴展名,以及在清空垃圾箱時禁用警告。

1.提供有限的一些有用的偏好。避免使用偏好設(shè)置來配置應用的各個方面。相反,要果斷,并專注于人們實際想要修改的特征和外觀屬性。

2.提供特定于應用的首選項。用戶希望全局管理某些設(shè)置,例如邊欄圖標的大小,滾動行為和自動保存行為。這些設(shè)置已經(jīng)可以在系統(tǒng)偏好設(shè)置中配置。為確保一致性和避免混淆,您的應用不應包含使您的應用程序的行為與系統(tǒng)中其他所有應用程序的行為不同的首選項。

3.預留偏好設(shè)置很少更改。如果有人可能希望在每次打開應用程序或每次執(zhí)行某項任務時更改設(shè)置,請考慮將其暴露在浮動面板中,用戶可以打開并保持屏幕上的快速訪問。

4.提供菜單項,而不是工具欄項,用于訪問您的應用程序的首選項。工具欄僅供常用項目使用。用戶希望在文件菜單中的應用程序菜單和文檔級首選項中查找應用程序級別的首選項。也可以使用標準的命令 - 逗號鍵盤快捷方式訪問應用程序級首選項。有關(guān)相關(guān)指導,請參閱工具欄和菜單欄菜單。

5.有關(guān)開發(fā)人員指南,請參閱“基礎(chǔ)知識”的“首選項和設(shè)置編程指南”和“首選項編程主題

6.偏好窗口

偏好設(shè)置窗口是用于調(diào)整應用程序偏好設(shè)置的無模式對話框。通常,首選項窗口包含一個工具欄,其中包括用于在相關(guān)設(shè)置組之間切換的按鈕,這些組在工具欄下方的視圖中顯示。這些分組稱為偏好窗格。

7.立即應用偏好更改。用戶期望偏好更改會在更改后立即生效。

8.在首選項窗口中禁用最小化和縮放按鈕。偏好設(shè)置窗口用于偶爾調(diào)整應用程序的行為方式,所以不需要調(diào)整大小的首選項窗口或長時間保持打開狀態(tài)。

9.如果您的首選項窗口包含工具欄,請實現(xiàn)不可隱藏的不可自定義工具欄。首選項窗口工具欄中的項目可以在始終可用的不同設(shè)置組之間進行導航。

10.將選定的外觀應用于當前可見的首選項窗格的工具欄按鈕。重要的是指出哪個工具欄按鈕處于活動狀態(tài)。

11.更新首選項窗口的標題以反映當前可見的首選項窗格。例如,如果您的首選項窗口包含“常規(guī)”首選項窗格,則該窗格處于活動狀態(tài)時,窗口的標題應為“常規(guī)”。如果您的窗口不包含多個首選項窗格,則其標題應為應用程序名稱首選項。

12.恢復上次查看的首選項窗格。如果用戶切換首選項窗格,則應用程序應記住此更改,并在下次用戶打開首選項窗口時立即顯示相同的窗格。

Restoring State恢復狀態(tài)

當他們重新啟動您的應用程序時,人們不需要回溯步驟來達到他們以前的位置。

1.保存并恢復您的應用程序的狀態(tài),以便人們可以繼續(xù)他們離開的地方。 例如,重新打開并恢復當用戶退出您的應用程序,注銷或重新啟動時打開的任何文檔和窗口的大小和位置。

2.按預期配置重新打開的窗口。 在大多數(shù)情況下,人們希望窗口重新打開上次配置的方式。 例如,通常應該恢復邊欄的可視性和拆分視圖的大小。 這個規(guī)則的一些例外是:

3.具有由多個子視圖組成的窗格或側(cè)邊欄的應用程序(如Numbers中的“排序和過濾器”窗格)將在窗口還原時恢復為其默認視圖。

類似于系統(tǒng)偏好設(shè)置的應用程序,其主視圖嚴格作為其他視圖的啟動器,應始終向主視圖打開。

Security安全

人們欣賞macOS的安全性,并期望他們的應用程序同樣安全。當您利用系統(tǒng)提供的安全技術(shù)時,您可以在本地安全地存儲信息,授權(quán)用戶進行特定操作,并通過網(wǎng)絡傳輸信息。

1.避免僅依靠密碼進行身份驗證。利用TouchID等其他技術(shù),使用戶可以使用指紋進行身份驗證。

2.將敏感信息存儲在鑰匙扣中。鑰匙串在處理用戶的私人信息時提供安全,可預測的用戶體驗。

3.不要將密碼或其他安全內(nèi)容存儲在純文本文件中。即使您使用文件權(quán)限限制訪問權(quán)限,密鑰信息的安全性也更為安全。

4.明智地做出假設(shè)。例如,不要假設(shè)只有一個用戶登錄。由于快速的用戶切換,多個用戶可能在同一個系統(tǒng)上處于活動狀態(tài)。

5.避免發(fā)明自定義認證方案。如果您的應用需要身份驗證,請使用系統(tǒng)提供的授權(quán)API。

6.要求代碼,需要特權(quán)訪問到一個單獨的進程。保理代碼將安全代碼與非安全代碼隔離開來,使得更容易驗證是否發(fā)生無論是故意還是無意損壞的流氓操作。

7.警惕加載和特權(quán)代碼。特別是避免加載特權(quán)代碼插件,這些插件采用其父進程的特權(quán)。避免調(diào)用潛在的危險功能,如系統(tǒng)或popen從加載或特權(quán)代碼。

Ensuring App Integrity確保應用程序的完整性

用戶的“安全和隱私”設(shè)置適用于下載的應用程序的使用。 從Mac App Store下載的應用程序始終被批準使用。 用戶可以選擇啟用由已知開發(fā)人員創(chuàng)建的應用程序的使用。

從Mac App Store銷售您的應用程序。 用戶知道,Mac App Store中的每個應用程序都已被Apple審查,并沒有被篡改。

如果您選擇在Mac App Store之外分發(fā)您的應用程序,請使用有效的開發(fā)人員ID對您的應用進行簽名。 這標識你是一個蘋果開發(fā)人員,并確保用戶可以打開你的應用程序,如果他們選擇這樣做。 有關(guān)開發(fā)人員的指導,

啟用應用程序沙箱以幫助保護用戶數(shù)據(jù)。 沙盒可讓您的應用程序訪問所需的內(nèi)容,同時限制對其他系統(tǒng)資源和用戶數(shù)據(jù)的訪問。 沙盒還可以保護您的應用免受惡意軟件的侵擾。 提交到Mac App Store的所有應用都需要沙盒。 有關(guān)開發(fā)人員的指導,

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內(nèi)容

  • iOS 9設(shè)計規(guī)范 中文版 完整版譯者注:本文譯自蘋果官方人機界面指南 iOS Human Interface G...
    海寧Hennie閱讀 13,387評論 2 60
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,598評論 25 708
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,993評論 19 139
  • 關(guān)于首選項和設(shè)置 首選項是您持久存儲的信息,并用于配置您的應用程序。應用程序通常會向用戶公開偏好設(shè)置,以便他們自定...
    nicedayCoco閱讀 1,041評論 0 0
  • 一、金錢并不能讓我們滿足,成就和權(quán)力在如此的詰問面前也只能俯首稱臣,好像缺少什么“我們?yōu)橹睢钡臇|西。每一天...
    玫蘭妮閱讀 646評論 0 0