iOS 开发者也要面对屏幕碎片化?_最新动态_新闻资讯_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 新闻资讯 > 最新动态 > iOS 开发者也要面对屏幕碎片化?

iOS 开发者也要面对屏幕碎片化?

 2014/8/27 15:21:35    程序员俱乐部  我要评论(0)
  • 摘要:不久前,游戏开发商Shiftjelly的联合创始人RusselIvanovic在个人博客发表了一篇文章,谈论的是Android屏幕碎片化的问题。人们通常认为,Android设备拥有上千种屏幕尺寸,为其开发应用一定是很痛苦的事情。对此,RusselIvanovic给出了出人意料的结论。他说,事情并不是人们想象的那样困难。一方面,Google从一开始就提供了界面布局工具,允许开发者定义多种界面视图,适应不同尺寸的设备,另一方面,Android屏幕分辨率早就开始标准化了,只是人们还没有意识到这一点
  • 标签:iOS 开发 开发者

9620-1447-140617-iPhone6-Compare-l

  不久前,游戏开发商 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 开发应用的时候,只考虑四种分辨率。一副图片来形象地表示:

screen_res

  在 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 用另一张图来形象表示:

ios-e1408785841684

  这意味什么呢?Russel Ivanovic 说,如果支持不同屏幕尺寸,iOS 开发者要做的工作甚至要超过 Android 开发者。另外,要做好这件事情,最好的工具在 iOS 8 中,许多开发者可能会只支持 iOS8,比避免手动布局带来的痛苦。不过,这也未必是坏事。一个可能的后果是,应用的 iOS 版会比 Android 好。因为 iPhone 屏幕尺寸增大后会展现更多信息,而不仅仅是界面的放大。

  图片来自 appleinsider

发表评论
用户名: 匿名