越来越多的人开始建议微软放弃Windows Phone操作系统,转投Android大本营。本文不是第一篇就这件事进行评论的文章,当然也不可能是最后一篇。
这种想法烂透了。Google已经把Android操作系统做的功能完善,其他企业无法使用,如果微软要转投Android阵营,利用Android的优势,就意味着要放弃wp开发者,放弃wp应用。
人们讨论“微软加入Android阵营”的一些理由有:Windows Phone没有强大的开发者来形成巨大的购买力,但是Android平台有。如果加入Android,微软可以通过提供Exchange、System Center、Office等内容为用户提供独一无二的价值,还可以为用户提供统一的Bing、Azure、Skydrive云服务。但是同时,用户还是可以用Android的其他应用。
结果应该是一个平台应该或多或少地对消费者来言有吸引力,即Android的品牌和Android的应用,以及借助Android API的开发者,而且系统核心都由Google开发,微软的开发成本降低。
但这些理由并不足以说明转向Android是一个很好的做法。实际上Google每次发布新版Android操作系统,Google的控制权就越来越大。
并非完全开源
从大处来说,Google的Android有两套代码。
第一套是Android Open Source Platform(Android开源平台)代码,它包含Android操作系统的基本构架:Android版本的Linux核心、Dalvik虚拟机、基本的用户界面。这一部分是基于GPL、Apache联合授权的,免费开源。Google会阶段性地放出开源部分的代码,但是总是比最新版的要慢。
第二部分代码被叫做Google Mobile Services(GMS,Google移动服务,有时也叫做Google Play或Google Play Apps。)。Google Play Services提供了丰富的API接口和系统服务,API有Google地图、地理位置、应用内购买,Google+集成、远程抹除数据、恶意软件扫描等。还包括搜索、Gmail、Chrome、Maps等应用程序。
GMS包含一些重要的特性。这一部分并非开源,如果手机上只有AOSP系统,它将不包含GMS。如果厂商向使用GMS就必须获得认证,然后付费购买授权,每台授权费为0.75美元。而且厂商无法变更GMS。如果手机通过了GMS认证并且安装了GMS,这部分代码和应用的所有内容都会进入手机上。
Android是开源的(除了那些好用的东西)
AOSP和GMS的分裂是在不断进行的。Google开始慢慢地为GMS融入更多功能。在最新的Nexus 5中,手机核心用户界面加入了GMS搜索应用。
而且,API方面也有不同。AOPS包含地理位置API,但是GMS的地理位置API更新更好,而且还多了很多新特性。Google鼓励开发者使用GMS的API,AOSP的地理位置API还是Android 1.0时代的API,从Android 1.5之后就没有变过。这就导致第三方应用程序已经不再是Android应用,而是GMS应用,如果没有GMS,这些程序运行起来不兼容。
做Android的4种方式
硬件厂商可以通过以下4种方式在手机上使用Android系统
· 第一种是Google想让厂商用Android:提供AOSP和GMS。通过认证之后,手机中预装所有Google服务和应用。三星、HTC、和LG就是通过这种途径来使用Android系统的,而且还能获得厂商自定义功能,在手机上预装自己开发的应用。但是最近Google因为三星抄袭自家应用而不爽,最后三星承诺不再抄袭Google应用。这种方式可以为第三方应用程序提供最佳的兼容性,确保使用AOSP和GMS API的应用程序都能使用。还能提供最连续的体验,虽然厂家会自定义内容,但是还是保留了Google的所有应用。这种途径还能使Google获得最大的控制权,而且控制权只增不减。只要版本更新,Google就会在GMS移入更多功能,让AOSP只剩下一个空架子。
· 第二种方法就是完全忽视GMS,只留下AOSP。只给手机使用AOSP和一些厂家自定义软件,可能会给用户带来不一样的体验。在低端手机市场上,厂家都是这样做的,尤其是在中国。如果厂家只用AOSP,厂家就要提供自己的应用商店和服务来填补GMS的缺失,但是对于GMS兼容的应用程序,这些厂家生产的手机就有些无能为力了。兼容GMS的应用数量不少,因为一些关键特性都是GMS上独有的,比如说应用内购买。
· 第三种选择就是为设备搭载AOSP,同时也提供和GMS服务一样的服务、相似的API。比如说为手机提供跟GMS里相似的地理位置、地图API,比如把微软的服务换成Google的服务。到目前为止还没有企业做到这种水平,最接近的是亚马逊,它的深度定制Android系统已经提供了不少可以取代GMS服务的内容,但是许多地方还是得使用GSM。技术上来讲,一家拥有足够开发资源的企业可以提供自己的GMS替代方案。但是很难,替代方案不仅要复制GMS的准确功能,还要能应对GMS的bug和错误。另外,照抄GMS还要注意是否会侵权,如果Google认为厂商的替代方案涉嫌抄袭,肯定会告上法庭的。
· 第四种方法:使用AOSP提供基本服务(硬件、电话等),然后在这个平台上开发一整套全新的平台和API。亚马逊的API支持可以放到这个类别中,亚马逊的一些API已经完全取代了GMS的API,但也存在不兼容GMS应用的情况。但现在还不清楚是否由企业已经准备开始这么做,或许Ubuntu for Android可以做到这一步。
兼容性和控制权,二者不可兼得
只有第一种方法可以提供完整的Android体验,只有在这种平台上开发者才能充分展示自己的能力,才能确保Android应用的完整兼容性。然而微软绝对不可能选择这种途径,即使微软愿意这么做,Google也不愿意这么做。
第二种方法或许微软可以使用,它可以支持部分Android应用,但并不所有Android应用。一些需要应用内付费的应用可能跟微软无缘,而这些大都是热门应用。但是一个这也不兼容,那也不兼容的系统平台,真的可用吗?
诺基亚谣传的Android手机可能就是用的第二种方法,只用AOSP做底层,用诺基亚服务取代Google的服务。上面说过了,这种方法只能是针对低端市场,对兼容性要求不高的市场,但是对微软来说,这种方法就不可取了:微软的平台一定要是最新的,能运行最好的应用程序的。所以第二种方法,放弃。
Google费了那么大劲把GMS做得那么出色,没有了GMS的Android即使有替代方案,也会出现各种漏洞,给用户带来不良的体验。所以只用开源的方法是不行的。
亚马逊的Kindle就很能说明问题。Kindle上永远得不到最新、最好的
本文来源:tech2ipo(张珑馨) 评论() 作者:佚名