找回密码
 骑士注册

QQ登录

微博登录

搜索
❏ 站外平台:

Linux中国开源社区 观点 查看内容

可望不可及的开源:Google是如何逐步牢牢控制开源系统Android

2013-10-23 22:45       

锁定第三方应用

Play Service 实为 Google 对抗衍生版本 Android 的一大利器。作为 Goolge 的闭源 app,它随 Google Apps 套餐包一道被授权给 OEM。任何功能由“正常版”Android 移植到 Google Play Services 都意味着由开源走向闭源。这一招不仅想靠独家垄断的功能吊用户的胃口,目的还在于通过 API 的授权牢牢控制住第三方应用开发者。

脱离 Google 的应用生态系统似乎很容易:搭建自己的应用商店,说服开发者在上面投放 app, 然后你就可以独立发展了。可 Google 正在想方设法加大第三方应用对自身平台的依赖性,一方面,选择在所谓“兼容”设备上开发 app 的开发者生存状态越来越好了,同时在 Google Android 体系外的开发者状况越来越糟糕了,其战略其实是把“Android App Ecosystem”变成了“Google Play Ecosystem”。

如果你使用了任何 Google API 接口,又试图在 Kindle 或其它 AOSP 版本上运行这个 app:surprise! 你只能眼看着它崩溃了。Google Android 占据了全球 80% 的市场份额,开发者真正关心的是 app 开发流程的简化,运行的流畅以及能否到达更多用户。而这些需求 Google API 都能轻松解决,美中不足在于你的 app 不得不依赖于 Google Apps 授权的设备。

Google Maps API

接入 Google Maps 便可获得 Google 地图数据的使用权,它为天气或旅行应用开发提供了很大的便利。唯一的问题在于,这部分 Google 服务并非开源的 Android 服务。选择 Maps API 内在地意味着选择 Google 兼容设备作为开发平台。

为此,亚马逊不得以只好使用诺基亚的授权地图数据并克隆了一套 Google Maps API ,该公司甚至还专门提供了一张页面告诉开发者如何将 app 从 Google Maps 迁移出来。Google 确实擅长优化自身的生态环境,这无形中就加大了外生态的生存难度系数。要在 Kindle 流畅运行你就得兼容两个不同的地图 API。

这让 Android 衍生版本的处境很尴尬,这里亚马逊要么选择常年向诺基亚支服务付许可费用,要么就得自立门户重新开发一套地图出来。更甚之,亚马逊还得时时紧跟 Google 的步调调整节奏:亚马逊的 Maps API 支持的是 Google Maps API v1, 但如果某开发者需要用到 Maps v2 API 中的新功能,亚马逊就有的忙了。

Google Cloud Messaging

Google Cloud Messaging (GCM) 是 Android 平台通知推送最简单易用的方式,但它永远也不会出现在 AOSP 版本上。2013 年 I/O 大会时,它被引入至 Play Services。GCM 的作用主要在于帮开发者跨平台同步推送即时消息。

Location APIs

Google Maps API 或许仅适用一批小众应用,但不管出于什么原因,越来越多的应用都需要嵌入消息推送功能。这也是不甘落后的亚马逊不得不复制过来的新功能。其衍生版本叫做“Amazon Device Messaging”,仅支持亚马逊设备。跟 Maps API 的情况一样,亚马逊仍需追加苦工,但又不得不接受极小规模用户群体这一现实。而 GCM 的全部功能在 Amazon 版本可能属于集体缺位的状态,所以亚马逊的工作量很大。

2013 年 Google I/O 大会时,Google 改版了 Android Location API 并将其纳入了 Google Play Services 服务项目。换句话说,Android 最新的位置服务已属闭源之列了。如果上述例证足以参考的话,之前的开源地理位置服务只好自生自灭了。新增功能除 Fused Location Provider(据说采用了全新的位置算法)外,还有 Geofencing 和 Activity recognition,前者为用户提供基于地理位置的活动推荐服务,后者则结合加速计数据和精妙的算法判断用户的运动状态,如步行、骑自行车或才开车——皆无需开启 GPS。

由于 Maps API 和 GCM 皆依托 Google 服务器运行,独立的 app 完全有理由将其整合进来。但综观整个地理位置服务有一种 Goolgle 的大手无处不在的感觉。目前获得地理位置信息服务有两种方案,一是从 Google 获得节能而优质的闭源服务;二是选择蹩脚的、费电的开源服务。

app内购买

Android 上最有效的应用内购买无疑是发生在 Google Play Store。如果某开发者选择了 Kindle 或在中国做应用开发,他们只好另谋高就了。这又一次证明,如果想要脱离 Google 的 Android,就得不断复制它的服务,亚马逊就推出了 Amazon In-App Purchasing API。就连三星也在抗争,它在两年前就有了类似的举动。

Play Games

Play Games 是另一个能够为移动开发者解决一系列难题的专属 API,它允许开发者能简便地引入用户帐户,排行榜、积分管理、云端存档和多人游戏机制等模块。它最大的优点在于跨平台运行,当然,除了 AOSP 的一切平台。这又是一个第三方应用赖以生存和衍生版 Android 平台不得不复制的 API。亚马逊有一套叫做“GameCircle”的 API,但它在功能上并不与 Play Games 重合,因此选择亚马逊的游戏开发者还得额外开发一个完全独立的多人游戏模块。

通过iOS锁定开发者

Google 颇为诡黠的一点在于其 90% 以上的 API 都支持 iOS 平台。从开发者的角度思量下你是否会用 Google 的 API:Google 的解决方案往往在可用性、功能性和易用性上都是一流的;它支持两大主流平台,这意味着选择 Google 的 API 就能覆盖到绝大多数的潜在用户。它唯一的缺陷就在于不兼容衍生版 Android,但任何衍生版的 Andoid 背后都一小波你在乎的目标设备。

也许大部分开发者都会拥抱 Google API,可也须回答这个问题:他们将如何区处 Kindle 和其他版本的 Android 呢?开发者们完全有自主权选择其它替代性 API 解决方案,但这个替代品可能会有过期、不兼容、以及功能残缺等缺陷,专注于产品设计的开发者这时大都会果断地抛弃这些小众衍生版 Android,从而也省去了许多无谓的工作量。

三星不成大气候

让我们解释下为什么亚马逊能够脱离 Google 独立生存而三星却做不到。亚马逊虽是一个 Google API 复制机器,但三星在这方面却比它还不如。关于三星脱离 Google 生态的任何猜测都是不成熟的,除非你看到它对外授权了地图数据或开发出了一套云端消息推送 API。

亚马逊的确算得上上进,但这家公司本就出生于互联网。服务器和软件服务是它的看家本领,因此发展出一批云服务算不得什么突破。三星则是一家电子产品公司——它并没有云端基础设施和 API 开发的基因。因此亚马逊能够在短短几年内依托其云端平台做好 Google 的跟班儿,但三星却还是步履维艰。

三星也算有一点进步,如刚才所说,它推出了自家的应用内购买 SDK 包。有趣的是,它还有一套广告 SDK 包,但就没怎么赚过钱。相反,Google 则支持所括 Android、iOS、衍生版 Android 甚至 Windows Phone 上的所有广告。

可望不可及的开源

任何有心挑战 Google Android 的公司都得把本文中提到的服务复制一遍。即便如此也不过是貌似与 Google Android 打了个平手。你仍须给用户一个放弃 Google Android 而投奔你的充分理由。

Google 俨然已经自成体系,它的基础云服务和 Maps 皆免费提供。任何有需求的公司都难免会用到 Google 的服务。亚马逊或是个例外,但比较下:Google 可依托 Maps 销售广告挣钱,而亚马逊却须替你用户常年向诺基亚值钱。这就是任何一个衍生版 Android 所面临的宭境。

即便哪家公司能拿出一款牛 B 闪闪的衍生版 Andoid 来,它也得面对几乎所有的 OEM 都与 Google 签了卖身契这个事实。对 OEM 来讲,脱离 Google 投身另一衍生版 Android 风险要远大于收益。

虽说 Android 是开源的,不过它是一种”可望而不可及“的开源。所到之处,但凡没有 Google 的庇护,想要利用 Andoid 都会连连受阻。违反了 Google 的禁令,就只能看着眼前的世界坍塌下来。

来自:http://www.36kr.com/p/207094

   http://www.36kr.com/p/207133

1234
查看其它分页:

最新评论

我也要发表评论

收藏

返回顶部

分享到微信

打开微信,点击顶部的“╋”,
使用“扫一扫”将网页分享至微信。