对于开发者来说,屏幕碎片化并不算个事儿
Android 碎片化的争论由来已久,从 Android 2.x 时代就已经开始出现,直到如今 Android L 现身,有人认为这是和 Android 繁荣休戚相关,也有人认为,开发者是在含泪适配各种设备。
说起来,人们口中的 Android 碎片化主要表现在 Android 品牌和机型众多,Android 版本众多和 Android 设备的尺寸和分辨率众多。奇怪的是,讨论 Android 碎片化的往往不是默默写代码做适配的开发者们,这一次,一个开发者坐不住了,亲自来谈这个在互联网流传多年的迷思,Android 设备的屏幕尺寸也并不是什么大的障碍。
出品过 Pocket Casts 等游戏的开发商 Shifty Jelly 的联合创始人 Russel Ivanovic 在他的博客里分享了自己的看法,事情的由来要从一张流传甚广的图片说起:
上图每一个方框代表一种 Android 设备的屏幕,颜色越深,这种尺寸的屏幕也就越多。也就是说,Android 开发者理论上需要适配上图中的屏幕。对于我们大多数非开发者而言,看到上图不免要深深地同情起 Android 开发者,默默地拿出钱包请他们吃饭。但是 Russel Ivanovic 表示,别矫情了,他们过得挺好:
“说实话,那不是很难,(为 Android 设备开发应用)并没有大多数人想象的那样让人头疼。Google 早已经给了我们界面视图布局工具,你可以自定义一种或多种界面视图,以适应不同尺寸的设备。如果你还想更精益求精,那么你还可以只保留一种代码库而尽可能多的调试更多的视图。这些都是可扩展标记语言(XML),并不存在于你的代码之中。如果你是一个 iOS 开发者,它就如同 iOS 中的XIB 文件。也有一部分人还没意识到,Android 已经标准化设备分辨率很长一段时间了。 ”
去年的 Google I/O 大会上,Google 也发布了开发者工具 Android Studio,使工具的开发模式更加的丰富便捷,提供多尺寸预览,侧栏查看颜色、实时效果预览等功能。
虽然也有资深开发者认为只有没写过代码的人才会相信 Android Studio 真的能好用,但是有总比没有好吧。
Russel Ivanovic 挑选了最为常见的 10 款 Android 设备,运行 Pocket Casts 来体现游戏在不同 Android 设备的界面差异,这几款手机的显示屏分辨率分别为:
- 720 x 1280
- 768 x 1280
- 800 x 1280
- 1080 x 1920
- 1440 x 2560
据此,Russel Ivanovic 发现,开发者为不同的 Android 设备和不同屏幕进行适配比想象中简单很多。不过这也仅限于 Android 手机,Android 平板并未计算在内。
对于 Russel Ivanovic 和他的 Shifty Jelly 来说,适当舍弃也是对抗 Android 碎片化的秘密武器。
以最新的 Android 版本份额统计来看,Android 4.0 以下的份额已经不及 15% 了,因此,Russel Ivanovic 认为,Android 4.0 以上版本的前景明显更好,因为 Android 非常巨大的市场份额,他们完全可以忽略掉还在使用 Android 2.3 的用户,转而聚焦 Android 4.0 以上的用户。这种情况也发生在 iOS 上,Russel Ivanovic 支持 iOS 7 及以上系统,老版本遭到了无情的舍弃。即使放弃这部分较低 Android 版本的用户,Android 的用户基数还是大于 iOS。
对于 Russel Ivanovic 所说的 Android 在标准化分辨率的说法,从这一两年的新机发布来看也是所言非虚的,中低端 720p,高端的 1080p 以及 2K 屏相对统一许多。至于老旧的 Android 2.x 版本,为了效率的开发者也就只能放弃了。
所以,这次开发者现身说法,屏幕尺寸、屏幕分辩的碎片化的问题在 Russel Ivanovic 看来并不是什么事儿。