在 今年 5 月,Google Play 收获了自己的 480 亿下载次数,而总共的应用数量已经超过了 48 万款,对比的是苹果的 App Store 有着超过 500 亿次的下载,应用数量超过了61 万。在应用数量和下载次数上看,Android 和 iOS 的差距并不大。
接下来是另外一个好消息,Android 手机在智能手机市场上已经占据了 79.5 % 的份额,处于绝对领先位置,Android 机型数量高达 1.1 万种。从数据上看,真是一派欣欣向荣的景象。
盛世之下,必有隐忧。随着 Android 的繁荣,开发者不得不面对一个巨大的问题。面对多版本系统,多品牌多尺寸多种硬件规格的 Android 手机对于开发者来说,意味着必须要花费更多更大的时间和精力去调试自己的程序。这个问题多年前就被提起过,但现在正是得到报应的时候。
Wierd 把这种对于各种 Android 版本和设备的适配称之为“痛苦矩阵”,意指为了确保代码在设备上正常运行,而不得不忍受适配过程中的痛苦。
Todd McKinnon,一个企业管理登录验证公司 Okta 的联合创始人和 CEO 说:
“当你决定开发 Android 应用时,首先你就得面对 6 个主要的平台版本,这还不够,主要版本之下还有细分版本,你必须去面对各种设备,大屏幕的,小屏幕的。”
这当然是非常痛苦的,就像上世纪 90 年代程序员们要面对各种版本的 Windows 系统,还要尽可能的去适配更多的硬件设备一样。相比于在 iOS 上开发应用,Android 开发者面临着更复杂的局面。iOS 6 升级到 iOS 7 已经让许多 iOS 开发者分身乏力,很多开发者表示将放弃 iOS 6,主攻 iOS 7 平台。
为了减少开发难度,同时也为了应用体验,不少 Android 开发者不得不做出一些妥协。McKinnon 最终决定只支持当时***版本的 Android 系统,这就意味着他必须放弃另外一批大部分的用户。根据调查,当时大约只有 37 % 的 Android 用户是使用***版本的 Jelly Bean 系统。
很多开发者开发的节奏是先上线 iOS 版本,然后紧接着 Android 用户便要求开发 Android 应用,另一方面,面对几占智能手机市场八成的 Android 手机用户,开发者也是不愿放弃的。市场越大,碎片化越严重,这样的矛盾暂时无法解决,开发者也只得默默面对。
昨天,我们也写到,Android 新一代***面临着诸多挑战,包括诸如生态系统碎片化的老问题。
Nirav Tolia 的团队用了不到 4 个月就推出了自己的 Android 应用,为了从 Android 2.2.3 版本支持起,也就是要占据 95 % 的 Android 市场,他不得不放弃原生的 Android 代码,而绕道去用网页技术。
而像 Symantec 和 Mozilla 这样的公司不得不在 200 多种设备上测试自动化软件。Trent Peterson,AppThwack 的联合创始人说:
“很明显,Android 系统有问题,你为了获取这个开放平台而不得不去面对成吨的设备。”