(转)iOS Wow体验 - 第五章 - 利用iOS技术特性打造最佳体验
本文是《iOS Wow Factor:Apps and UX Design Techniques for iPhone and iPad》第五章譯文精選,其余章節將陸續放出。上一篇:Wow體驗 - 第四章 - 為應用的上下文環境而設計
關于本套譯文分享的詳情及目錄結構,請參考iOS Wow體驗 - 譯文分享說明。
全文由C7210自發翻譯(編譯),并首發于Beforweb.com,如需轉載,請注明譯者及出處信息。英文原書版權由Apress所有,中文引進版的版權由相關出版社所有。
iOS是設計師們得以施展技能的絕佳舞臺。同時,蘋果也向開發者們提供了一系列專業化的技術方法,幫助他們從容應對各種復雜的設計方案所帶來的挑戰。
伴隨著技術的革新與發展,越來越多的交互體驗模式正在孕育而生。設計師的創作思路得以擴展,技術開發人員也擁有了更多高效的方法和工具來準確的實現設計方案。設計與開發之間的障礙正在被各種新技術不斷的突破,項目中一些職能角色的性質也在發生著變化,越來越多的設計師超越了相對傳統的專職領域,開始直接進行開發方面的工作。
對于團隊來說,那些同時掌握著設計與開發技能的人員是非常有價值的。我們所說的這種“掌握”不單單是指對于技術概念或術語有基本程度的了解,更重要的是,設計師需要對開發技術在各方面的特性及優缺點做到心中有數,并能針對這些特性來創造最合理的設計方案。
當然,要設計人員或團隊完全精通某種開發技能,并且在相關平臺中有過大量實戰經驗,這是不現實的,也沒有必要。不過,如果設計師曾經切身實踐過開發方面的工作,或是參加過相關的內部培訓,那么這些經歷通常可以有效地幫助他們打造出更具可行性的設計方案。另外一方面,不妨向更加專業的技術人員進行請教,讓他們幫忙找出那些有可能對設計方案的實現與還原造成影響的潛在因素。
接下來,我們將一同了解一些在iOS當中負責實現各種視覺交互表現形式的核心技術,并對它們各自的功能進行分析。這些技術知識會幫助你對設計方案的可行性及相關的開發方式做到心中有數。
除此之外,我們還將了解一些其他方面的話題,包括界面外觀的自定義、通用型應用、原生應用與Web應用的差異等。
關鍵性的圖形技術
作為設計人員,你需要對四種關鍵性的圖形技術有所了解。它們可以被分為兩大類,第一類是用于支持iOS本地渲染的蘋果專有技術,而第二類涉及到OpenGL,這種第三方技術可以有效地利用硬件加速功能渲染復雜的圖形。怎樣從設計的角度來理解這些概念呢?簡單的說,第一類技術用于打造用戶界面及相關交互元素的視覺表現形式,而與OpenGL相關的第二類技術的主要作用,則是在游戲或類似的上下文環境中對各種極端復雜的圖形和動畫效果進行即時渲染。
需要注意的一點是,這些技術雖然各司其職,但并非只能專門用作各自的上下文領域。通過對這些技術的作用加以理解,你就可以對設計方案的實現方式做到心知肚明。特別是當你正在嘗試一些獨特的交互形式的時候,對于相關實現技術的了解就顯得尤為重要了。
UIKit
UIkit是用來打造iOS應用的最重要的圖形技術框架,它提供了用于構造觸屏設備用戶界面的全部工具和資源,并在整個交互體驗的塑造過程中扮演著至關重要的角色。
設計方案中的絕大部分內容都需要通過UIKit來實現,因為用戶在iOS中所接觸到的任何一種用戶界面控件都由它來負責定義和輸出,包括基本的按鈕、滑塊、文本域、切換開關等。除了這些標準控件之外,UIKit還提供了很多方法來幫助我們對控件的外觀進行自定義。所以在界面元素的視覺表現形式上,我們不必受制于各種控件的默認樣式。外觀自定義工作還會涉及到我們將要在后文中了解到的其他圖形技術,但是相關的解決方案都是由UIKit在整體上控制的。
除了能夠使用你所指定的圖形文件(例如PNG圖片)對界面控件的外觀進行自定義之外,UIKit還能夠程序化的渲染圖形對象,換句話說,它可以按照我們設定好的規則來繪制圖形。UIKit在這方面的能力與一些常見的矢量圖形繪制技術很相似。在類似的方法中,我們通常需要定義最基礎的幾何圖形或路徑,然后為這些路徑賦予具體的視覺屬性,以實現設計中的目標樣式。不過有一點需要提醒一下:這種程序化的繪圖方式確實可以對生產效率起到一定的提升作用,然而另外一方面,你卻需要花費更多的時間與精力去跟進到接下來開發流程當中,以確保技術人員所定義的圖形屬性可以精確的還原你的設計方案。在實際項目中,最好能夠在開發流程之前與相關的技術人員一同對設計方案中的每一個細節進行充分的評估,確定一套最合理的圖形技術方案。
核心圖形 (Core Graphics)
核心圖形是用來實現用戶界面視覺設計方案的重要技術框架。這套框架的核心是名為Quartz 2D的二維圖形渲染引擎,它不僅可以動態地渲染很多不同種類的圖形,而且還可以使應用具有創建和編輯圖像的能力。
你可以將核心圖形理解成一種能夠幫助你擴展產品功能的技術框架。相比于UIKit,它更擅長于處理那些較為復雜的圖形;不過在必要的時候,也可以用來對普通用戶界面元素進行渲染。相比之下,UIKit在界面外觀自定義方面的支持能力更強。所以,只有當設計方案涉及到相對復雜的圖形變換、隊列處理和即時合成等方面的需求時,核心圖形技術框架才能真正體現出它的優勢與價值。
核心動畫(Core Animation)
核心動畫向開發者們提供了一套用于創建和渲染動態交互效果的簡單易行的解決方案。換句話說,這項技術可以讓你的設計方案真正動起來。通過與UIKit的緊密配合,核心動畫可以將界面交互對象與動畫過渡效果進行完美地整合。
作為一種強大的技術工具,核心動畫的能力范圍是非常廣泛的,它能使開發者在很多不同的層面上創建并控制交互對象的動畫屬性,而這對于設計師來說,則意味著能夠實現的獨特而高度定制化的動畫效果的可能性幾乎是無限的。
OpenGL ES
OpenGL ES與前面幾項技術有所不同,它并非蘋果所創造并獨有的。OpenGL ES是面向嵌入式設備的OpenGL 3D圖形應用程序接口(API),它必須與核心動畫協同配合,完成2D或3D圖形內容的渲染輸出。
OpenGL ES可以通過硬件加速功能來渲染那些極端復雜的圖形,所以這項技術通常被用來在游戲當中繪制那些需要進行即時渲染的3D圖形。不過它的能力不限于此,通過與我們在前面了解到的那些技術的整合,它同樣可以被用來渲染普通的元素,甚至還能以全3D的方式打造整個應用的界面環境。
是否有必要在應用的開發中使用這項技術,最終還是取決于設計方案所要求的視覺表現形式。對于那些沒有必要通過硬件加速功能來即時快速渲染的2D或3D圖形,其他技術同樣可以勝任。不過,如果你希望借助強大而復雜的技術工具對那些具有實驗性質的視覺交互形式進行探索和挖掘,那么OpenGL ES的強大能力將不會讓你失望。
界面外觀的自定義
究竟有沒有必要對應用的界面外觀進行自定義?在打造設計方案的時候,我們通常會在這個問題上產生糾結。特別是在蘋果剛剛推出應用商店的時候,這個問題顯得尤其普遍與突出。為了能夠盡快地將應用發布出去,以占領市場先機,產品決策者們寧愿放棄掉很多至關重要的設計流程,以達到壓縮產品開發進度的目的。如今,從整個應用市場的角度來說,這種局面有所改善,人們再也不能忽視設計的重要性了,但是對于一些剛剛試水iOS應用的團隊來說,類似的問題依然存在。
很多公司和產品團隊總是無法意識到高度定制化的界面外觀對于一款應用產品的重要價值。其實道理很簡單,如果只使用SDK(開發工具包)提供的默認控件來構筑用戶界面,你的應用就會完全處于iOS原生的視覺識別體系當中,在用戶體驗方面也無法超越蘋果制定的范圍框架。雖然從本質上講,這并不是一件壞事,但這種方式顯然無法將具有品牌特色的用戶體驗效應整合到產品當中;無論是視覺表現形式還是交互方式,都難以滿足用戶對于差異化的渴望。
拋開產品策略方面的因素,界面外觀的自定義工作在技術層面不存在任何障礙。正如我們在前文中看到的,蘋果在這方面有針對性的為開發者們提供了很多強大的圖形技術。從某種程度上說,這項工作本應該成為整個設計開發流程中的一個重要且必要的組成部分。
有一點需要說明的是,界面外觀自定義的設計原則并非是涇渭分明的,實際上你確實不需要對所有的界面組成要素都進行定制化的處理,在很多情況下,使用SDK提供的原生控件反而更加合理。作為設計師,你要做的就是處理好原生控件與自定義樣式之間的關系,將它們協調的整合在一起,確保用戶不會對這兩類元素產生彼此孤立與分化的感知。
除了使用新的圖形樣式對各種常規界面元素的外觀進行自定義之外,你還可以創造出全新類型的的界面交互對象,并為它們賦予獨特的交互方式。不過,對于這種明顯超出了“換膚”范疇的做法,蘋果在用戶界面設計規范當中所體現出的態度并不是具有鼓勵性的,因為全新類型的交互對象會對用戶的認知造成很大的障礙。作為規范,持有相對謹慎的態度是合乎情理的,不過這種具有極高創新性質的做法究竟能否成功,在很大程度上還取決于設計方案本身。過于隱晦的表現形式必然會使用戶產生迷惑與挫敗的感覺,無論它看上去有多酷;而簡單直白、易于理解的方案則具有相當高的可行性。
通用型應用
在過去的幾年中,iOS設備種類及規格的擴大發展為應用設計師與開發者帶來了不少挑戰。從前,我們只需要為一種設備規格打造設計方案;隨著iPad的到來,事情開始變得復雜起來,我們必須針對新設備的特性考慮另外一個版本的設計方案。而開發團隊也面臨著同樣的問題,他們必須同時開發和維護兩個版本的應用,工作量幾乎翻倍。
不久之前,通用型應用的概念出現在了應用商店當中,這種應用可以運行在任何類型的iOS設備當中。它會自動判斷當前的設備環境,并在用戶體驗形式上作出相應的調整,例如可以通過不同的方式對用戶界面進行渲染,在功能方面也會根據當前平臺的具體情況發生相應的改變。
對技術開發人員來說,通用型應用是個好消息,它可以避免不同版本所帶來的重復性工作,極大地提高開發流程的生產效率。不過站在設計師的角度,你仍然需要準確的把握不同設備在用戶行為及體驗模式上的差異,確保設計方案可以適用于它們各自的系統平臺。而這種方式帶來的進步也是顯而易見的。在必須針對不同設備打造兩個獨立版本的情況下,你需要對已有的一套設計方案進行改造,在界面元素和交互形式等方面進行全方位的調整,以適應新的設備平臺,這必然會導致兩個版本的應用在界面外觀和操作方式等方面存在顯著的差異;而對于通用型應用,你可以在設計過程中預先考慮到兩種設備的不同特性,并且能夠在同一套設計方案中針對這些差異來定義局部樣式或功能的響應式調整規則,從最大程度上確保用戶體驗的一致性。很多同時擁有兩款設備的用戶會在不同的需求情景中使用不同的設備來操作同一款應用,在這種情況下,具有高度一致性的界面外觀及交互方式就顯得尤為重要了。
原生應用與Web應用
如今,關于是否真正有必要開發iOS原生應用的問題,行業中還存在一些爭論。在當前復雜紛亂的移動市場中,除非你有足夠的資源,否則為每一種設備平臺都單獨打造一套原生應用確實是不大現實的。在很多情況下,移動版本的網站或是Web應用都可以很好的滿足需求。不過,在你著手于Web方向的解決方案之前,有一些重要的問題必須事先了解清楚。
在用戶體驗方面,Web應用與原生應用之間的差距還是很明顯的。如今,有很多前端開發技術框架可以幫助我們打造基于瀏覽器運行的Web應用。這些應用無論在界面外觀還是交互方式上都與原生應用非常相似。然而,在實際的移動設備上下文環境中,它們仍然無法與原生的方式相提并論。正像我們在前文中了解到的,蘋果為開發者們提供了很多強大的圖形技術工具,作為設計師,我們不僅可以在設計方案中打造高度定制化的界面外觀及交互效果,更重要的是,這些視覺表現形式都是在系統級別甚至硬件級別的功的支持下高性能的展現出來的。相比之下,基于瀏覽器運行的Web應用解決方案通常只能提供數量非常有限的交互效果,而且在性能方面更是無法與原生應用相比。所以,如果你正在考慮使用Web應用的方式來打造產品,至少要確保你的設計方案當中不會涉及到過多的視覺交互效果。
其實,對于這兩類應用,我們并不需要爭論出一個非此即彼的結果,因為iOS允許這兩種形式在同一款應用中兼容并包的存在,一款原生應用當中完全可以同時包括本地化的界面控件與基于Web的頁面元素。這種混合型應用可以將兩者的優勢淋漓盡致地發揮出來,使其自身即能擁有原生應用高性能的表現力以及對硬件功能的訪問能力,同時又具備Web應用的動態性與靈活性,并且更加易于維護。
最終,對于解決方案的選擇仍然取決于產品自身的功能及用戶體驗需求。任何關于產品實現方式的討論都必須從這個角度出發。
總結
蘋果為開發者們提供了四種用于渲染界面對象和視覺交互效果的關鍵性圖形技術:
- UIKit:用于繪制界面元素的最重要的圖形技術框架,在整個交互體驗的塑造過程中扮演著至關重要的角色。
- 核心圖形(Core Graphics):二維圖形渲染引擎, 可以動態地渲染很多不同種類的圖形,并能使應用具有創建和編輯圖像的能力。在必要的時候,也可以用來對普通用戶界面元素進行渲染。
- 核心動畫(Core Animation):可以在UIKit的配合下,為用戶界面中的交互對象創建動態的視覺效果。
- OpenGL ES:面向嵌入式設備的OpenGL 3D圖形應用程序接口(API),可以通過硬件加速功能來渲染具有高性能表現的2D或3D圖像。
以這些圖形技術為后盾,我們可以在設計中大膽地嘗試高度定制化的用戶界面外觀與獨特的交互表現形式,甚至可以對交互對象的視覺行為屬性進行實驗性的探索。
通用型應用的概念可以幫助我們有效的降低開發與維護成本,將iPhone與iPad兩種版本的產品需求整合到同一款應用當中。不過,作為設計師,你仍然需要準確的把握兩款設備在用戶行為及體驗模式上的差異,確保設計方案可以適用于它們各自的系統平臺。這種方式所帶來的進步是,你可以在設計過程中預先考慮到兩種設備的不同特性,并在同一套設計方案中針對這些差異來定義局部樣式或功能的響應式調整規則,從最大程度上確保用戶體驗的一致性。
譯文代表原作者觀點。歡迎發表評論,或到譯者微博進一步交流探討。
轉載于:https://www.cnblogs.com/greywolf/p/3260301.html
總結
以上是生活随笔為你收集整理的(转)iOS Wow体验 - 第五章 - 利用iOS技术特性打造最佳体验的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ExecuteScalar
- 下一篇: JavaWeb网上购物系统项目源码+论文