不久前,遊戲開發商 Shiftjelly 的聯合創辦人 Russel Ivanovic 在個人網站發表了一篇文章,談論的是 Android 螢幕碎片化的問題。不少人認為:Android 行動裝置擁有上千種螢幕尺寸,因此替 Android 開發應用程式可能是很痛苦的事情。對此,Russel Ivanovic 給出了出人意料的結論,他認為,開發 Android 應用程式並不是人們想像地那樣困難。
Russel Ivanovic 認為 Google 從一開始就提供了介面工具,允許開發者定義多種介面視圖,以適應不同尺寸的行動裝置;另一方面,Android 螢幕解析度早就開始標準化了,只是人們還沒有意識到這一點。Russel Ivanovic 從他的公司所開發一款 app《Pocket Casts》所收集的數據當中,他找出了 10 款最受歡迎的手機,然後加上一款更高解析度的 LG G3,以下是全部 11 款手機的螢幕解析度:
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 也是同樣的情況。上面提到 11 款手機的螢幕解析度變為 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 開發者也開始要面對螢幕碎片化問題了。撰寫 Apple 新聞知名科技作者 John Gruber 最近發表了一篇文章,詳細分析 iPhone 6 可能的解析度,他認為 4.7 吋和 5.5 吋的 iPhone 6 都可能存在,以下是 John Gruber 推測的 iPhone 6 解析度:
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 行動裝置解析度,必須使用 iOS 8 開發工具,如此可能會讓開發者讓應用程式僅支援 iOS8,以避免在設計軟體時,需要迎合較多的螢幕解析度。
via appleinsider
轉載自合作網站 ifanr 愛范兒
加入《APP情報誌》Facebook、Google+