想开发 Android 分支?没门!

最近,诺基亚的 Android 手机的消息越来越多,不管是代号“诺曼底”还是“Nokia X”,它引发人们的讨论。有人认为微软应该放弃 Windows Phone,就好像亚马逊(Amazon)所做的那样,发展出一个基于 Android 的独立分支。

英国卫报的查尔斯·亚瑟(Charles Arthur)是这个看法的赞同者。他认为 Windows Phone 丧失市场先机,现在已经很难追赶。

根据 Flurry 的 2013 年年中的报告,全球 iPhone 有 5 亿存量,Android 有 8 亿存量。根据 Paul Thurrott 的测量,截至 2013 年,Windows Phone 手机在全球有 5000 万的存量。显然,WP 与其它手机平台的差距依旧很大,尽管外面有新闻称“WP 手机在 24 个国家的销量超过 iPhone”。

亚瑟赞同约翰·格鲁伯(John Gruber)的观点,纳德拉必须为微软找到新的使命与愿景:“微软的服务,与全球每一部联网设备相连。下一个具备普遍意义的东西,不是在任何设备上运行,而是与每部设备沟通。”

基于这个观点,微软发展 Android 分支是有利的——这样子微软就不必花大量的心思说服用户从 Android 切换到 WP 平台,也不必为应用数量而头痛。而且,微软也可以像中国的 Android 厂商一样,用自己的应用和服务,换下 Android 里的 Google 应用与服务。

不过,到底微软能否顺利开发出 Android 的分支呢?ArsTechnica 的皮特·布莱特(Peter Bright)则反对这个观点。他的理由是,实际上 Android 没有想象中那么开放,Google 正在不断提高开发 Android 分支的难度。

结果是,即便微软真的去开发一个 Android 分支,也无法真正获得 Android 平台的优势:大量的用户,大量的开发者。这是为什么呢?因为,Android 实际上分为开源和不开源的两个部分,现在 Google 将越来越多的新特性往不开源的部分转移,而通过升级 API 等方式来迫使开发者使用更多 Android 不开源的部分。

布莱特解释,Android 从系统层面分为两套代码:

一个是 AOSP(Android Open Source Platform),它包括了 Linux 核心以及 Dalvik 虚拟机,一套基础的 UI。它们采用了 GPL 和 Apache 等开源许可;

另一个则是 GMS(Google Mobile Service),它包括 Google Play Service 和 Play Store 套装应用。前者提供了一系列的 API,包括 Google 地图、应用内付费等等。而 GMS 是不开源的。

而现在,Google 将精力投入到 GMS 上,而不是 AOSP 上,以访问地理位置的 API 接口为例,GMS 的版本要比 AOSP 的更新更好用。实际上,AOSP 的地理位置 API 自 Android 1.5 之后,就没有太大的变化了。现在,与其说是 Android 应用,还不如说是 GMS 应用。

布莱特认为,如果微软真的要对 Android 做点什么,有以下四种方式:

采用 AOSP 以及 GMS 两套代码。这个方案相当于 Google 拥有代码控制权,对微软不是好的选项;

采用 AOSP,提供一些定制的部分。微软可以提供自己的应用与服务。这个分支可以兼容部分 Android 应用,但兼容性如何却不可知;

采用 AOSP,提供自己开发的 GMS 的替代品。这个方案提供最高的兼容性,但是微软需要付出大量的精力来开发 GMS 的替代品。而这实际上将平台的领导权让给 Google;

采用 AOSP,但应用层方面完全采用自己开发的部分。不过,对于 Android 来说,Linux 核心实际上并非是最重要的部分,而且微软已经开发了出 Windows Phone。

那么,当微软真的独立开发 Andorid 分支,但不采用 GMS 的话,就无法适配许多调用了 GMS API 接口的应用。当然,微软可以开发出取代 GMS 的东西,就好像亚马逊(Amazon)所开发的 Fire OS 一样。

但 Google 依然能够通过提高开发的步调,不断甩开竞争对手的距离,现在 Fire OS 的处境正是如此。这么做不光无法保证 Android 应用的兼容性,还可能因为 API 接口的关系,无法提供完整的应用体验。

最糟糕的是,不管如何,微软的控制权、领导权都会被削弱。

题图来自 wikimedia

文章转载自 开源中国社区 [http://www.oschina.net]

时间: 2024-09-17 03:19:31

想开发 Android 分支?没门!的相关文章

android开发-开发android的问题,我想实现隐藏标题的栏的功能,但是会出错

问题描述 开发android的问题,我想实现隐藏标题的栏的功能,但是会出错 我想实现隐藏标题的功能,其中一个方法是修改android:theme,但是我一修改android:theme就会出错,保留android:theme="@style/AppTheme"就不会出错. 改成这样android:theme="@android:style/Theme.NoTitleBar.Fullscreen",运行的时候就会出错;这是什么原因? 然后我使用第二个办法,添加requ

书籍-想学好android游戏开发请指教

问题描述 想学好android游戏开发请指教 想学好Andriod游戏开发请指教,书籍,或者一些体会等等,各位大师小弟谢过了 解决方案 建议先决定开发游戏的类型(2D游戏.3D游戏...等等)然后选择开发工具(Unity3D.cocos2d.....)选择工具前看一下该工具要求的编程语言(比如Unity3D为以下任意一种:C#.javascript.boo).选择自己语言比较熟悉的开发工具.接下来就是看一下教程做一下小Demo.其他就是看一下手机游戏开发基础比如手机识图大小.drawCall.F

webkit-用chromium开发Android浏览器,想给JS的document对象添加一个自定义属性

问题描述 用chromium开发Android浏览器,想给JS的document对象添加一个自定义属性 用chromium开发Android浏览器,想给JS的document对象添加一个自定义属性,类似于document.onkeypress这种,谁做过类似的开发,给个思路吧,谢谢啦!

想做Android Wear开发?你得先搞明白这四件事

    手环和手表的腕上穿戴之争,随着Apple Watch发布和Android Wear不断完善而告一段落.尽管续航上略有缺陷,但手表以其类似手机可扩展的生态环境赢得了众多巨头的支持. Google曾透露,Android Wear发布三周左右应用数就超过了Google Glass,并将有数以千计的app不断加入.Apple Watch发布的该月内,雷锋网驻硅谷的记者发现已有公司开始招聘相关开发者. 国外的开发者生态一向积极,国内虽明面上动静不大,但实际各家也已经都在暗自开动.鉴于Apple W

新手入手开发Android应用需要多久?

问题描述 Q:学习android需要哪些基础? A:学习Android一定要有Java基础,最差也要类似Java的其他面对像对象语言的基础.很多朋友从来没有搞过编程,听说Android能赚钱,就疯了一样冲过来要学习.这明显是不靠谱的,甚至有的朋友一个字母一个字母的按照我的例子去敲代码,然后非常努力的把代码背下来.像背英文单词一样的背代码,编程学成这个样子,还真是让小生佩服啊!不管怎样,你最少也要掌握Java语言的如下知识点才能够开始学Android: a)Java基本数据类型及其特点 b)Jav

关于使用PHP开发Android后台的问题

问题描述 关于使用PHP开发Android后台的问题 本人小白,没有开发经验,现在和同学计划做一个论坛类型的APP.我是负责做后台方面的,但是不知道先从那部分下手,怕一开始没规划好做到中期就崩溃了.所以想问问各位高手,开发初始阶段应该怎么做啊?谢谢了.计划是用PHP+XAMPP来做,求教 解决方案 Android和PHP开发最佳实践 下载这本书 和 源码 你就都 搞定了

android开发-android中如何对app图标进行点击事件的监听?也就是一键锁屏的效果

问题描述 android中如何对app图标进行点击事件的监听?也就是一键锁屏的效果 如题,android中如何对app图标进行点击事件的监听,也就是类似一键锁屏的功能,一点图片就可以响应 解决方案 本文演示如何在Android中实现程序前后台切换效果. 在介绍程序实现之前,我们先看下Android中Activities和Task的基础知识. 我们都知道,一个Activity 可以启动另一个Activity即使这个Activity是定义在别一个应用程序里的,比如说,想要给用户展示一个地图的信息,现

在Visual Studio 2013/2015上使用C#开发Android/IOS安装包和操作步骤

原文:在Visual Studio 2013/2015上使用C#开发Android/IOS安装包和操作步骤 Xamarin 配置手册和离线包下载  http://pan.baidu.com/s/1eQ3qw8a 具体操作: 安装前提条件 1. 安装Visual Studio 2013,安装过程省略,我这里安装的windows10 + vs2013 with update 4. 2. 安装Java SDK,按照Next一步步安装,此处省略,如下图: 3. 安装Android SDK:因为在线安装的

用Kotlin优雅地开发Android应用

写在前面 在之前的一篇文章,我们简单的知道了Kotlin这门新语言的优势,也接触了一些常见的语法及其简单的使用,相信你会对它有浓厚的兴趣,暂且理解为对它感兴趣吧,哈哈哈.那么,我们该如何在Android中应用这门新的语言呢?今天的这篇文章带你学习使用Kotlin开发Android应用,并对比我们传统语言Java,让你真真切切的感受到他的美和优雅. 配置 项目gradle文件 apply plugin: 'com.android.application'    apply plugin:'kotl