微软、诺基亚和其他任何人都不应使用安卓系统。这是不可饶恕的。

  杏耀资讯     |      2018-06-19

不时有人建议微软取消Windows Phone,转而使用Android。这不是第一次提出这个建议。这可能也不是最后一次了。

这是个糟糕的主意。Google一直致力于使Android在功能上不可抗力,没有切实可行的方法来同时划分平台并利用其相关优势:丰富的开发人员和丰富的应用程序。

Microsoft应该支持Android 论点的要点如下: Windows Phone没有巨大的开发人员支持或销售成功,但Android有两者。通过使用Android,Microsoft可以提供独特的价值——与Exchange、Active Directory、系统中心或InTune等企业集成;全面办公室支助;完美的用户体验——让平台依赖于自己的云服务(必应、必应地图、Azure ),而不是Google s。但同时,它仍然可以访问人们所依赖的所有Android应用程序。

结果应该是这样一个平台:凭借Android品牌和所有这些Android应用程序,它对消费者更具吸引力,得益于Android APIs,它对开发人员更具吸引力,而且微软开发成本更低,因为核心操作系统开发可以留给Google。

这个问题的症结在于,没有好的方式来使用Android平台。它不是为它设计的。事实上,随着每一个新的Android版本,Google正在使分叉的操作系统变得越来越不可行。

不太开放的源代码广义来说,Google产生了两大块代码。首先是Android开源平台( AOSP )代码库。这提供了智能手机操作系统的基本框架:它包括Android s版本的Linux内核、Dalvik虚拟机和部分基本用户界面(设置应用程序、通知面板、锁定屏幕)。这部分是在GPL和Apache许可证的混合下获得许可的。Google定期发布这些开源部分的代码,尽管人们批评Google主要是关起门来进行实际开发。

第二个区块叫做Google移动服务( GMS )。(或者至少有时叫做GMS。有时它只称为Google Services,有时它是Google Play或Google Play应用程序;GMS是它在代码中的名字,所以这似乎是最常见的名字)。这有两大部分。Google Play服务提供了丰富的APIs和系统服务: Google地图、位置和应用程序内购买的APIs;谷歌+整合;远距离擦拭;恶意软件扫描;等等。然后是应用程序的Play Store集合:搜索、Gmail、Chrome、地图等等。

GMS有几个重要功能。GMS不是开源的。任何人都可以拿着AOSP打电话。对GMS来说不是这样。要获得GMS,设备必须满足某些技术要求(性能、屏幕分辨率等),并且必须通过验证。尽管Google说GMS套件本身是免费的,但验证过程并不是免费的,据报道每台设备的成本约为0.75美元。

GMS似乎也是不可分割的:如果你的手机通过了GMS验证,并且可以包含GMS,那么它就包含了一切:播放服务,以及使用这些服务的各种Google品牌的应用程序。

进一步阅读Googles对Android的铁腕:用任何必要的手段控制开源AOSP和GMS之间的分裂也不是一成不变的。Google正在慢慢地将越来越多的功能迁移到GMS。例如,在最新的Nexus 5中,核心电话用户界面(用于启动应用程序和显示图标的东西)已经被滚动到GMS搜索应用程序中。

同样,APIs也采取了行动。AOSP包含一个位置API,但是GMS包含一个更新的、更好的,带有附加功能的API。Google鼓励开发人员使用GMS API,而AOSP定位API大多可以追溯到Android 1.0,自Android 1.5以来没有出现过任何实质性变化。其结果是,许多第三方应用程序不仅仅是 Android applications :它们是GMS应用程序,如果没有专有的非开放Google软件,它们将无法运行。

做Android的四种方式硬件制造商可以在手机上使用Android。

首先是Google真正希望公司使用Android的方式:依靠AOSP和GMS。通过认证,包括所有Google服务和Google应用。三星、宏达电、LG等公司就是这样做的。走这条路仍然为OEM定制提供了一些便利。例如,OEMs可以提供自己的应用程序,与Google应用程序并排放置。看来Google对此并不完全满意——有报道说,该公司最近与三星达成了一项协议,根据这项协议,三星将减少定制的数量用户界面,并取消或删除与Google品牌同等产品直接竞争的应用程序。

通过确保第三方应用程序同时具有AOSP和GMS APIs,采用此路径可提供与第三方应用程序的最佳兼容性。它还提供了最一致的体验:尽管进行了各种定制,但这意味着Google的应用程序将可用,并且这些应用程序将在任何AOSP + GMS设备上以相同的方式工作。

它也将大部分控制权交给了Google,而且这种控制权只会增加。每一个新版本都提高了与Google自身服务的集成水平,Google将越来越多的新功能转移到GMS,使AOSP成为一个空壳。

在光谱的另一端,您可以完全忽略GMS。在手机上安装AOSP和一些定制软件,让用户的体验轻松一点,并完成任务。在市场最便宜的一端,也有公司这样做;尤其是在中国。如果他们选择,原始设备制造商可以提供他们自己的商店和其他服务来填补省略GMS留下的许多空白,但是他们总是处于相对于GMS设备的不利地位,因为他们不会与使用GMS / APIs的任何第三方应用程序兼容。这也不是一个小类别,因为应用程序内购买等功能都在GMS中。

第三个选项是跨越两个选项的选项:用AOSP和提供基本相同APIs的新实现的GMS的等价物来运送设备。为位置和地图等服务提供类似于工作的替代服务,但要关注微软的服务,而不是谷歌的服务。没有一家公司真的走这条路。最近的是亚马逊,它提供了一些Google APIs (特别是地图)的近点替代,但它甚至还没有开始跟上GMS的总体发展。

然而,从技术上讲,拥有充足开发资源的公司可以提供自己的GMS替代产品。开销并不是微不足道的,尤其是为了确保最佳兼容性,替换将不得不复制GMS实现的错误或怪癖,而不仅仅是正确的功能。

GMS API还有很多小的尴尬方面;它包括诸如与Google +共享这样的功能,很少有公司有真正的对应功能。另一个例子:有一个用于处理基于回合的多人游戏的API。一家公司可以实现这个API,并拥有自己的服务器基础设施来管理游戏会话,但是显然这些游戏会话将与Google的游戏会话完全分离,以游戏开发者不太喜欢的方式分割玩家群。作为额外的奖励,如果Google与Oracle长期的法律斗争的最终解决方案是APIs实际上是可复制的,那么这种GMS的大规模重新实施将成为法律诉讼。如果谷歌愿意,它可以通过法庭将其关闭。

除了这三个选项之外,可能还可以添加第四个选项:使用AOSP提供一些基本服务——硬件、电话等支持——但然后构建一个全新的平台和APIs在其上运行。Amazon的API支持方面属于这一类,它的一些API与GMS API覆盖相同的领域,但方式完全不同,不兼容。不过,目前还不清楚是否有任何制造商完全接受这种方式,尽管有人可能会说,Android的Ubuntu是相似的,至少在精神上是如此。

您可以具有兼容性或控制性:并非所有这些选项中的第一个——AOSP和GMS——都是提供完整Android体验的唯一选项。这是唯一一个确保开发人员能够完美转移技能的软件,也是唯一一个确保Android软件的全面和多样化的软件。然而,对于微软来说,这显然不是一个好的选择,因为它几乎将平台的控制权完全交给了Google——从广告公司的业绩来看,它将在每一个新的Android版本中放弃更多的控制权。

第二个选项—AOSP加上一些额外的自定义功能—有一个好处,就是为微软提供了集成自己服务的机会。它将支持一些Android软件,但具体支持多少还不清楚。这当然意味着使用应用程序内购买来省略任何高调的标题,所以比如说,植物与僵尸2或者最新版本的愤怒的小鸟将被淘汰。如果一个人正在构建一个功能电话平台,这可能是一个比较合理的途径。当手机只为运行内置应用程序(照相机、浏览器、电子邮件)而构建时,许多Android应用程序不兼容的事实并不重要。

诺基亚制造的Androi的传言d phone建议这种方式: AOSP在幕后,但诺基亚服务,而不是谷歌服务在上面。

这种方法可能也适用于兼容性不是很大的超低端设备,这在中国AOSP市场占有很大份额。但对于微软来说,这就忽略了一点:该公司已经有了一个与最新和最伟大的高调应用程序不兼容的平台。它不需要另一个。

但是,了解这种设备的缺陷是很重要的。Google已经将非常重要的功能推向GMS,包括消息和Chrome浏览器。AOSP的对应方有缺陷,功能被剥夺,至少有一些人认为几乎没有维护过。如果一家公司想在没有GMS的情况下使用AOSP,那么如果它想产生高质量的体验,它有很多工作要做。开源部分还不够好。

亚马逊的Kindle体验也展示了即使拥有类似Android的AOSP衍生平台也是一个挑战。Kindle没有最新的、最伟大的Android游戏,因为他们的各种开发人员都懒得制作他们的游戏的非GMS版本,尽管Kindle平台与Google非常相似。换句话说,Windows Phone已经面临的应用挑战并没有通过使用AOSP来解决。解决应用问题的唯一途径是不仅仅是一个AOSP平台,而是一个GMS平台。

第三个选项——具有本土GMS等价物的AOSP——可以解决这一问题,但也将最大限度地增加叉车所需的开发工作量。提供与每个GMS功能相当的功能至少可以确保用户获得体面的体验。它还将恢复没有GMS的AOSP的软件兼容性。

但这是一项艰巨的任务。对于微软来说,在AOSP之上构建GMS worklike所需的努力将与在Windows之上构建Windows Phone shell和APIs所需的努力相当。事实上,它可能更大一些:微软已经有了一个运行在Windows上的浏览器引擎。它没有运行在AOSP上的。

此外,它仍然隐含地赋予Google对平台的控制权。Android使用方式的各个方面由底层APIs决定:例如,应用程序之间的共享是以特定的Android方式完成的。任何以这种方式使用Android的平台,将只有有限的能力把平台带到与Google选择的不同的方向。

第四个选项—使用AOSP并在上面添加全新的软件堆栈—提供了自由和灵活性,但目的是什么?内核不是重要的一点。微软已经有了智能手机内核。windows Phone 8已经使用它了。引人注目的是,对于微软来说,放弃Windows Phone并不意味着公司可以放弃开发这种内核。它已经开发出来了——适用于Windows!内核不是最难的部分。

Android的Fork offIf Android是一个开放平台,就像智能手机的Firefox OS或Ubuntu是一个开放平台一样,分叉建议会更有意义。AOSP / GMS拆分将不存在。一切都将在AOSP中实现,因此零敲碎打地替换后端服务而不必重新创建大量代码,也不会对兼容性产生任何重大影响将是切实可行的。

但它不是。它不仅不是这种开放的平台,而且Google正在积极努力使它在功能上不那么开放,每一个新版本都是如此。其结果是,叉车必须做出选择:他们可以给Google控制权并获得平台的所有优势,或者他们可以从Google手中夺取控制权而几乎没有任何优势。

Android不是设计成分叉的。借助GMS,Google特意设计了Android来抵制分叉。有人建议微软放弃自己的操作系统,转而使用这种叉子,这完全暴露了人们对Google构建Android平台的方式缺乏了解。