想开发 Android 分支?没门!

简介:

screenshot

最近,诺基亚的 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]

相关文章
|
12天前
|
搜索推荐 前端开发 API
探索安卓开发中的自定义视图:打造个性化用户界面
在安卓应用开发的广阔天地中,自定义视图是一块神奇的画布,让开发者能够突破标准控件的限制,绘制出独一无二的用户界面。本文将带你走进自定义视图的世界,从基础概念到实战技巧,逐步揭示如何在安卓平台上创建和运用自定义视图来提升用户体验。无论你是初学者还是有一定经验的开发者,这篇文章都将为你打开新的视野,让你的应用在众多同质化产品中脱颖而出。
39 19
|
12天前
|
JSON Java API
探索安卓开发:打造你的首个天气应用
在这篇技术指南中,我们将一起潜入安卓开发的海洋,学习如何从零开始构建一个简单的天气应用。通过这个实践项目,你将掌握安卓开发的核心概念、界面设计、网络编程以及数据解析等技能。无论你是初学者还是有一定基础的开发者,这篇文章都将为你提供一个清晰的路线图和实用的代码示例,帮助你在安卓开发的道路上迈出坚实的一步。让我们一起开始这段旅程,打造属于你自己的第一个安卓应用吧!
38 14
|
15天前
|
Java Linux 数据库
探索安卓开发:打造你的第一款应用
在数字时代的浪潮中,每个人都有机会成为创意的实现者。本文将带你走进安卓开发的奇妙世界,通过浅显易懂的语言和实际代码示例,引导你从零开始构建自己的第一款安卓应用。无论你是编程新手还是希望拓展技术的开发者,这篇文章都将为你打开一扇门,让你的创意和技术一起飞扬。
|
13天前
|
XML 存储 Java
探索安卓开发之旅:从新手到专家
在数字时代,掌握安卓应用开发技能是进入IT行业的关键。本文将引导读者从零基础开始,逐步深入安卓开发的世界,通过实际案例和代码示例,展示如何构建自己的第一个安卓应用。我们将探讨基本概念、开发工具设置、用户界面设计、数据处理以及发布应用的全过程。无论你是编程新手还是有一定基础的开发者,这篇文章都将为你提供宝贵的知识和技能,帮助你在安卓开发的道路上迈出坚实的步伐。
27 5
|
12天前
|
开发框架 Android开发 iOS开发
安卓与iOS开发中的跨平台策略:一次编码,多平台部署
在移动应用开发的广阔天地中,安卓和iOS两大阵营各占一方。随着技术的发展,跨平台开发框架应运而生,它们承诺着“一次编码,到处运行”的便捷。本文将深入探讨跨平台开发的现状、挑战以及未来趋势,同时通过代码示例揭示跨平台工具的实际运用。
|
13天前
|
XML 搜索推荐 前端开发
安卓开发中的自定义视图:打造个性化UI组件
在安卓应用开发中,自定义视图是一种强大的工具,它允许开发者创造独一无二的用户界面元素,从而提升应用的外观和用户体验。本文将通过一个简单的自定义视图示例,引导你了解如何在安卓项目中实现自定义组件,并探讨其背后的技术原理。我们将从基础的View类讲起,逐步深入到绘图、事件处理以及性能优化等方面。无论你是初学者还是有经验的开发者,这篇文章都将为你提供有价值的见解和技巧。
|
13天前
|
搜索推荐 前端开发 测试技术
打造个性化安卓应用:从设计到开发的全面指南
在这个数字时代,拥有一个定制的移动应用不仅是一种趋势,更是个人或企业品牌的重要延伸。本文将引导你通过一系列简单易懂的步骤,从构思你的应用理念开始,直至实现一个功能齐全的安卓应用。无论你是编程新手还是希望拓展技能的开发者,这篇文章都将为你提供必要的工具和知识,帮助你将创意转化为现实。
|
16天前
|
Java 调度 Android开发
安卓与iOS开发中的线程管理差异解析
在移动应用开发的广阔天地中,安卓和iOS两大平台各自拥有独特的魅力。如同东西方文化的差异,它们在处理多线程任务时也展现出不同的哲学。本文将带你穿梭于这两个平台之间,比较它们在线程管理上的核心理念、实现方式及性能考量,助你成为跨平台的编程高手。
|
13天前
|
Java Android开发 开发者
探索安卓开发:构建你的第一个“Hello World”应用
在安卓开发的浩瀚海洋中,每个新手都渴望扬帆起航。本文将作为你的指南针,引领你通过创建一个简单的“Hello World”应用,迈出安卓开发的第一步。我们将一起搭建开发环境、了解基本概念,并编写第一行代码。就像印度圣雄甘地所说:“你必须成为你希望在世界上看到的改变。”让我们一起开始这段旅程,成为我们想要见到的开发者吧!
22 0
|
16天前
|
存储 监控 Java
探索安卓开发:从基础到进阶的旅程
在这个数字时代,移动应用已成为我们日常生活的一部分。对于开发者来说,掌握安卓开发不仅是技能的提升,更是通往创新世界的钥匙。本文将带你了解安卓开发的核心概念,从搭建开发环境到实现复杂功能,逐步深入安卓开发的奥秘。无论你是初学者还是有经验的开发者,这篇文章都将为你提供新的见解和技巧,帮助你在安卓开发的道路上更进一步。
19 0