正如最近一段時間,以 Instagram、Flipboard、Instapaper 為首的眾多知名應用的 Android 版的亮相一樣,一款應用在 iOS 上率先推出,獲得巨大成功后,應用戶的廣泛要求移植到 Android 上,這仿佛已經成為一種定式。應用跨平臺開發和移植本身并沒有什么問題,但讓人擔憂的一個趨勢是,很多開發者在將自己的 iOS 應用移植到 Android 時,并不會針對 Android 的特性進行優化,大多僅僅單純照搬 iOS 的設計風格。
Android 不是 iOS,兩個平臺的工作方式是不同的,這是開發者應該意識到的。對于一位 Android 用戶來說,這種偷懶的移植的問題其實并不在于其借用了 iOS 的界面風格,而是這種設計打亂了自己習以為常的 Android 操作方式。一個平臺之所以有自己的一套設計規范,正是因為相似的應用環境能方便用戶在不同應用間的使用習慣。在某一個平臺上完美的設計在另一個平臺上不一定合適。
當然, Android 設計規范的出現僅僅是幾個月之前的事情,在此之前,Google 缺乏任何規范的自由主義讓 Android 的開發者對于如何開發應用無所適從,許多人自然而然借鑒 iOS 設計風格的做法完全可以理解。在與許多開發者交流時,他們也表示,Android 與 iOS 對他們來說屬于兩個同質的平臺。但隨著 Android 4.0 ICS 的開始普及,以及本月底下一代 Android 系統 Jelly Bean 的即將亮相,應用如果繼續延續“一個版本走遍全部平臺”的想法,也許節省了時間,卻可能逐漸疏遠了用戶。而像下面這樣的設計更可能受到用戶的喜愛。
那么,在 iOS 應用移植 Android 時,有哪些常見的誤區呢?
分享功能
Android 最優秀的功能之一,就是來自于其 App Intent 機制的應用間數據分享功能。利用這個功能,任何一個應用都可以在系統中注冊成為對應數據類型的處理對象,而一款應用也可以將不同的內容分享到其他應用中去進行處理,而無需開發者手動添加分享功能。
相比之下,iOS 每款應用都需要開發者為需要的服務單獨進行預添加的分享功能顯得非常笨拙,如果你常用的服務沒有被集成進去,那么你就很不走運了。(曾經有傳聞說 iOS 6 會增添類似 App Intent 的分享機制,但就目前公布的測試版來看,這一功能并沒有包括在內。)在這一背景下,許多應用移植到 Android 后依然采用了 iOS 那樣的分享機制的做法就顯得有些買櫝還珠。
應用選項卡的位置
iOS 應用一般都采用了底部放置操作選項卡欄的設計風格,但在 Android 平臺上,由于屏幕下方有多個按鍵(虛擬鍵或實體鍵),同時 Android 界面參考規范中建議使用底部欄來進行常用操作的展示,因此選項卡欄放在底部并不是好的設計風格。
開發者可以考慮使用 Google 建議的頂部滾動選項卡、固定選項卡或是堆疊選項卡。
界面返回按鈕
由于硬件上只有 Home 鍵,iOS 的使用習慣是在界面的左上角添加返回到應用上一層的功能按鈕。對于 Android 來說則有所不同,ICS 及之前版本系統導航欄上的固定“返回鍵”起到了返回上一操作的功能,而 ICS 新增的“向上”按鈕作用雖然與 iOS 類似,起到返回該應用上一層的功能,但在設計上卻也應該盡量注意與 iOS 區分開,遵循 ICS 的風格。(題外話,ICS 的“返回”與“向上”兩個按鈕因為功能上有所重復,因此在開發者中造成了不少的混亂,目前并沒有一個好的解決方案。)
其他界面元素
選擇控件
iOS 單選開關一般都使用的是滑動式的控件風格,但在 Android 中,這種設計并不符合整體的風格,更常用的是下圖這樣的狀態開關按鈕。
系統元素與圖標
對于一些常用的操作,如分享、設置、搜索等,Android 提供了標準的圖標按鈕參考,使用這些圖標按鈕可以讓 Android 用戶更加清楚的辨識出相應的功能。跨平臺應用沿用 iOS 的圖標的做法不值得鼓勵。
內容列表的右剪頭
在 iOS 上,列表項目的右側會有一個右向的剪頭,指示可以點擊查看詳情。但在 Android 上,這一界面元素并不常見,為了保持用戶的平臺一致性,也應該盡量避免這一界面元素。
上面提到的只是眾多 iOS 移植應用中常見的幾個問題,為了讓自己的應用能夠更加適合 Android 用戶的使用習慣,開發者應該考慮加入如 Action Bar 等 Android 特色的界面元素。更多可以仔細參考 Google 發布的 Android 界面參考規范。
當然,這并不意味著一款應用必須嚴格的遵守這一界面規范,而實際上 Google 也并沒有要求應用必須使用這種界面風格。但即使一款應用想采用具有自己獨特個性特征的 UI 風格,熟悉各自平臺的界面規范,揚長避短也是非常有必要的。