iOS 開發者也要面對螢幕破碎化的問題?

iOS 開發者也要面對螢幕破碎化的問題?

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

iOS 開發者也要面對螢幕破碎化的問題?

圖片來源

一方面,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 開發app的時候,只考慮四種解析度。用一張圖片來表示:

iOS 開發者也要面對螢幕破碎化的問題?
在 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 開發者需要考慮4種解析度。

  • 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 用另一張圖來表示:

iOS 開發者也要面對螢幕破碎化的問題?

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

iOS 開發者也要面對螢幕破碎化的問題?

延伸閱讀:

對於開發者來說,Android的螢幕碎片化並不算什麼大不了的事

圖解 Android 系統破碎化生態,混亂的軟硬體究竟是禍是福?

ifanr
作者

ifanr依托於中國移動互聯網的發展大潮,用敏銳的觸覺、出色的內容,聚焦 TMT 領域資訊,迅速成為中國最為出色的新銳科技Blog 媒體。

使用 Facebook 留言
SoIN
2.  SoIN (發表於 2014年8月29日 09:23)
※ 引述《三十二朔月》的留言:
> 究竟幻想文什麼時候會結束呢
> 大概只有iPhone 6面世的那一天吧╮(╯_╰)╭

你的幻想恐怕到到iPhone 66面世都還不會結束吧╮(╯_╰)╭
Hiro
3.  Hiro (發表於 2014年8月30日 19:18)
> 因為 iPhone 螢幕尺寸增大後會展現更多資訊,而不僅僅是介面的放大
?
android 不同的螢幕大小顯示的文字量也是不同的啊?

不過 android 的 layout mechanism 確實是早已支援了各種大小長寬的螢幕。
發表回應
謹慎發言,尊重彼此。按此展開留言規則