Android 分裂的多面性
By Andreas Constantinou from Visionmobile.com | Echokou 译,Lordhong 校,转载请注明 ifanr.com 译文链接。
关于 Android 分裂的讨论很多,却很少有分析提到分裂的意义和影响。
从定义上看,API 并不是观察分裂现象的最好的角度,最好的角度是应用程序。看一下 Android Market 上面排名前一万个应用程序(免费和收费),有多少是能支持所有 Android 机型的?
对于 Google 的 Android 团队来说,分裂让他们彻夜难眠。分裂削弱了本来可观的应用程序市场,增加了开发成本,最终可能成为负面影响开发者的最重要因素。
Google 的 CTS(兼容性测试规范)预计会保证 Android Market 上的应用程序能运行在每一部 Android 手机上。Android 手机必须通过 CTS 测试,才能获得使用私有程序代码的权限,还有 Market 和 Android 这个商标的使用权。Android Market 和 Android 这两个品牌会受到 Google 的紧密控制(参考ifanr译文::最封闭的开源系统,话说 Android的八宗罪),没错,Google 会控制合作伙伴对 Android 的改动,和瘾科技文章的说法不同。
Android 分裂的三面
很多观察人士都把分裂的出现看作是开源(APL2)授权依附于 Android 公共源代码 造成的结果。事实上问题更复杂。Android 的分裂有三面。
1.Codebase 分裂。在 APL2 授权允许下,极少公司采用公开的 Android 的 Codebase。Google 更新太快了(12个月内有5个重要版本),一旦分裂,要跟上Google 更新的脚步就要付出很高的成本(诺基亚分裂的Webkit之路上就困难重重,后来也后悔了)。
中国移动把 Android 开发外包给软件公司 Borqs(播思通讯),诞生了 Android codebase 一个主要的分支。中国移动不太关心是否能跟上 Android 系统最新的功能,反正在中国便宜的山寨手机占据主要市场。
手机芯片公司 Mediatek (联发科)每年出货的芯片用在 2-3 亿部手机里,他们打算把 Android 纳入计划,这意味着另一个主要的分支。Cyanogen 和 GeeksPhone 也是Android 公开 codeline 的分支,不过针对的是利基市场——小部分懂技术的资深 Android 爱好者。
2. 发布版本的分裂。Google 在 12 个月里发布了 5 次主要的升级(1.5,1.6,2.0,2.1以及最近的 2.2)。每一次都有主要功能的更新,通常还有 API 的变化。可以对比 Android Market 上的应用程序,从 1.6 的手机上看到的,和从 2.1 的手机上看到的应用程序是不同的一套内容,前向兼容性不好。发布版本的分裂是 Google 快速创新造成的结果,Andy Rubin 还暗示说接下来的 6 个月里还会有更多的重要版本发布。对于那些年轻、灵活的互联网公司来说,这是一个信号,让他们知道如何在时间滞后的情况下更好地开发软件;相比 较,Symbian 主要的版本升级周期是 12-18 个月。
由于和 iPhone 一样缺少自动升级机制,版本发布的分裂问题变得异常严重。我们把这个现象称作“运行环境衰老(runtime aging)”,这直接造成了应用程序开发成本的提高。一级网络运营商看到他们运营的 Android 手机里运行着过时1-6年的浏览器,对于移动内容和软件开发公司来说也很棘手。
Google 本身也报告说 Android 用户分裂地使用 1.5、1.6 和 2.1版本的手机(至少对使用 Android Market 的手机来说是如此)。2010 年 5 月中旬的报告如下:
发布版本的分裂也出现在与 Google 合作的 OEM 伙伴上。Google 根据商业标准选定那些哪些 OEM 可以使用私哪些私有的代码(和 Michael Gartenberg 的说法不同)。 Sony Ericsson 的 X10(运行Android 1.6)面市时间就要比 Nexus One (Android 2.1) 晚。
3. 产品类型分裂。Android 是为有一定出货量的智能手机设计的。但他到来的时间很合适——iPhone 刚发布,消费电子厂商正在研究怎样开发互联设备。这带来了 Google 没有预料到的两个影响:
-所有的一级运营商和许多二级运营商看中了 Android,希望借此能以更低成本、更高的差异化开发 iPhone 类似设备,这意味着运营商在 Android 成长阶段(2008-2010)投入资金的时候,他们希望借 Android 手机以智能手机的价格提供高端功能。
-现在有十几个消费电子厂商生产 Android 设备,从车载系统到机顶盒再到平板,甚至还有 DECT 无绳电话和数码相框。Archos 网络平板只是开始,上面的这些设备对系统的需求各不相同,而且平台规格也有差异。
Android 进入市场的时机决定了它的分裂暗示了两点:
首先,Android 的官方 codebase 并不适合针对大众市场的设备(想想 ARM 9 或 ARM 11, 200-500MHz)。为了进入大众市场(每年一亿台以上),Google 需要第二类产品支持大众的 Android 设备。这是个“二十二条军规(自相矛盾)”,作为进入大众市场的第二类产品,它也会打破 Android 的开发模式。
第二,每个为不同的产品类型(车载、机顶盒、平板等等)设计的平台都会产生不同的 API,管理上很困难,这也是 Google TV initiative 和开放嵌入式软件基金会 (OESF)存在的原因。然而即使是 Google 也无法快速行动以协调或管理十几个不同 Android 产品和不同的硬件规格。
总之,Android 分裂会更加严重,阻碍着自身的发展。但你又是否愿意在你的电视、电话和汽车里看到同样的(单一 codebase)应用程序呢?
所以,工具厂商的机会来了,他们可 以提供移植工具、兼容性测试工具和 SDK,在每一个分裂版本中间建立起跨越鸿沟的桥梁。对分裂的问题你怎么看?有什么分裂的感受和故事吗?请和我们分享。