iOS 開發者也要面對屏幕碎片化?


不久前,遊戲開發商Shiftjelly 的聯合創始人Russel Ivanovic 在個人博客發表了一篇文章,談論的是Android 屏幕碎片化的問題。人們通常認為,Android 設備擁有上千種屏幕尺寸,為其開發應用一定是很痛苦的事情。對此,Russel Ivanovic 給出了出人意料的結論。他說,事情並不是人們想像的那樣困難。

一方面,Google 從一開始就提供了界面佈局工具,允許開發者定義多種界面視圖,適應不同尺寸的設備,另一方面,Android 屏幕分辨率早就開始標準化了,只是人們還沒有意識到這一點。從公司的Pocket Casts 應用收集的數據中,他找出了10 款最受歡迎的手機,然後加上一款更高分辨率的LG G3,其結果是這樣的:

引用LG G3: 1440×2560
Nexus 5: 1080×1920
Galaxy S5: 1080×1920
Galaxy S4: 1080×1920
Galaxy S3: 720×1280
Galaxy Note 3: 1080×1920
Galaxy Note: 800×1280
HTC One M8: 1080×1920
HTC One M7: 1080×1920
Nexus 4: 768×1280
Moto X: 720×1280

表面看起來,這裡的分辨率有很多種。但是,對於開發者來說,考慮佈局的時候是以“1x”或“1dp”為基礎的。例如,iPhone 3G 分辨率是320 480,iPhone 4 是640 960,不過,應用界面無需變化的。開發者不需要重新佈置按鈕,或者定制一個界面。 Android 也是同樣的情況。上面提到的設備分辨率變為1x/1dp 形式的時候,是這樣的:

引用LG G3 @ 1x: 360×640
Nexus 5 @ 1x: 360×640
Galaxy S5 @ 1x: 360×640
Galaxy S4 @ 1x: 360×640
Galaxy S3 @ 1x: 360×640
Galaxy Note 3 @ 1x: 360×640
Galaxy Note @ 1x: 400×640
HTC One M7 @ 1x: 360×640
HTC One M8 @ 1x: 360×640
Nexus 4 @ 1x: 384×640
Moto X @ 1x: 360×640

因此,開發者考慮界面佈局的時候,沒有太多的變體。除了寬度的變化之外,還有高度上的變化,因為在一些設備上,系統按鍵要佔據一部分空間(Android 4.4 後,系統按鍵可以融入到界面之中了)。 Shiftjelly 開發應用的時候,只考慮四種分辨率。一副圖片來形像地表示:


在Android 發展早期,屏幕尺寸更為多樣。到了Android 4.0 以後,情況已經有了很大改觀了,而且,由於Android 設備數量眾多,即使開發者僅支持4.0 以上的設備,用戶數量也是相當可觀的。

相比Android 開發者來說,iOS 開發者一直是比較輕鬆,只是到了iPhone 5 的時候,情況才發生了一些變化。但是,隨著iPhone 6 的到來,iOS 開發者也要面對屏幕碎片化問題了。專注蘋果新聞的知名科技作者John Gruber 最近發表了一篇長文,詳細分析了iPhone 6 可能的分辨率。他認為,4.7 英寸和5.5 英寸的版本都可能存在,其分辨率是這樣的:

引用
4.7 英寸: 1334 × 750, 326 PPI @2x
5.5英寸: 2208 × 1242, 461 PPI @3x

這樣的話,iOS 開發者需要考慮四種分辨率。

引用320×480 @1x iPhone 4
320×536 @1x iPhone 5
375×667 @1x iPhone 6, 4.7″
414×736 @1x iPhone 6, 5.5″

Russel Ivanovic 用另一張圖來形象表示:


這意味什麼呢? Russel Ivanovic 說,如果支持不同屏幕尺寸,iOS 開發者要做的工作甚至要超過Android 開發者。另外,要做好這件事情,最好的工具在iOS 8 中,許多開發者可能會只支持iOS8,比避免手動佈局帶來的痛苦。不過,這也未必是壞事。一個可能的後果是,應用的iOS 版會比Android 好。因為iPhone 屏幕尺寸增大後會展現更多信息,而不僅僅是界面的放大。

圖片來自appleinsider


資料來源:愛範兒(ifanr)
作者:積木

如果喜歡我們的文章,請即分享到︰

標籤: iOS  屏幕碎片化