Android和Chrome的发展与未来
作者:郑 健 贺 超
来源:《移动通信》2010年第11期
作者:郑 健 贺 超
来源:《移动通信》2010年第11期
【摘要】文章介绍了谷歌先后发布的两个软件平台——Android和Chrome进行了介绍,比较分析两者的联系与差别,以及它们的发展方向,对谷歌发布两个软件平台的战略考量进行了分析和解读。
【关键词】谷歌 Android Chrome 软件平台 操作系统
1 Android操作系统介绍
Android一词本义指“机器人”,谷歌于2007年11月5日宣布,将基于Linux内核的开源手机软件平台命名为Android,该平台由操作系统、中间件、用户界面和应用软件组成,是首个为移动终端打造的真正开放和完整的移动终端软件平台软件[1]。
Android是由谷歌主导开发的,它由Linux Kernel、C/C++编写的类库、一个用以运行代码的类似Java的虚拟机、移动终端必需的应用程序组成。Android通过与运营商、设备制造商、开发商和其他有关各方结成深层次的合作伙伴关系,来建立标准化、开放式的移动终端软件平台,在移动产业内形成一个开放式的生态系统,应用之间的通用性和互联性将在最大程度上得到保持。
Android最大的吸引力应该在于它不用付费,源代码都是免费开放的。Android采用了Apache License的授权模式,但是Linux Kernel除外,其使用的是GNU公共证书。在Apache License授权模式下,允许开发者任意修改和分发源代码;重新发布或修改代码时,可以不用提供源代码,而且允许对软件做“再授权”。另外,如果软件中包含了专利技术,使用Apache License时,表示授权者愿意将软件的专利技术贡献出来(Patent License)[2]。这样一来,开发者可以在Android的基础上开发出各种各样的代码或应用,而且还能避免授权和专利等风险。这也是为什么摩托罗拉、三星、HTC、LG等国际知名手机制造商争相转向Android的重要原因。
谷歌在开发Android时做了不少贡献,例如建立了一个称为Dalvik的虚拟机和重写了进程间通信机制Binder。Dalvik虚拟机执行的是.dex的Dalvik可执行文件,该格式文件针对小内存
使用做了优化,同时虚拟机是基于寄存器的指令优化,所有的类都由Java编译器编译,然后通过SDK中的“dx”工具转化成.dex格式由虚拟机执行。这种做法能更加节省字节码空间和提高内存的使用效率,html5源代码免费而且在低速CPU上表现出了较高的性能。而Binder的重写,不仅提供了Java和Native的接口,同时使得Java多进程的执行方式得以实现。Android平台还为开发人员提供了大量的实用类库和SDK开发工具,开发人员可以很快速地创建自己的应用,特别是互联网应用。例如在别的手机平台上进行基于位置的应用开发相当复杂,而Android将Google Map集成到平台,开发人员通过简单的几行代码就可以实现一个地图应用。
Android平台除了提供操作系统和应用的运行环,还提供了典型的互联网应用,如Email客户端、WWW浏览器等;此外还有谷歌全套的移动服务应用GMS(Google Mobile Service Application)。当然,GMS是属于谷歌所有的,上市销售的Android终端必须通过谷歌的CTS测试认证才能装载。
在Android发布的2年半里,由于Android具有开放、免费等突出的优势,使得开放手机联盟(OHA)的成员数量迅速攀升,其中出现了很多来自中国大陆和台湾地区的企业身影。截至目前,中国国内三大电信运营商、中兴通讯和华为等厂商以及来自产业链细小领域的业务应用提供商都已经加入该联盟。据统计,OHA的中国成员数量已达到12家,占据总成员席位的近1/5。
国内外知名的终端生产厂商如摩托罗拉、三星、HTC、LG、索爱、华为、中兴等都纷纷推出了各自品牌的Android手机,HTC推出的首款Android手机G1,销量就超过了百万台;摩托罗拉更是想凭借Android平台强势复兴,准备东山再起。运营商方面,中国移动采用Android作为底层软件平台,开发了一套名为OPhone OS的移动终端基础软件平台,提供给不同的手机厂商研发和生产出了多款OPhone手机。
2 Chrome操作系统介绍
谷歌于2009年11月20日在美国总部发布了Chrome操作系统,它是谷歌Chrome浏览器的自然延伸,是基于Linux核心的窗口系统。Chrome可运行在采用x86或ARM芯片的笔记本电脑、上网本、手机或其他手持设备上。
Chrome系统的所有应用基于谷歌的Chrome浏览器,而Chrome浏览器则基于WebKit和V8解析器。基于开放源代码的WebKit呈现出强大的引擎驱动力,能瞬间载入网页。就内在机制而言,Chrome配备的V8解析器,是一个为了高速运行复杂网络应用程序而构建的、更加强大的JavaScript引擎。
传统上,WebKit包含一个网页引擎WebCore和一个脚本引擎JavaScriptCore,它们分别对应的是KDE的KHTML和KJS。Webcore主要是负责HTML、CSS以及其他一些渲染,而JavascrptCore则主要负责Javascript的渲染,通常需要浏览器进行反复多次的解析执行,如IE和Firefox皆是如此,这样就影响了Javascript的执行速度。所以,随着JavaScript引擎独立性的加强,需要一个强大的JS引擎来支持使用JavaScript编写的大量应用。谷歌开发了V8引擎,由其直接生成机器码,只需要解释一次即可运行,JavaScript的解析性能问题因此得到很大提升。
由于Chrome浏览器的独特构造使其能快速载入网页和解析JavaScript,同时,谷歌在该浏览器中集成了对HTML5的支持,这种先天的优势使Chrome系统能够更好地支持互联网应用的发展。
由于Chrome系统是基于开源的Linux内核,众所周知,Linux对网络的各种协议支持已经相当的成熟,而Chrome还支持3G和WiFi等无线通讯模块,这无疑对移动互联网将有更好的支持。
从Chrome操作系统发布到现在还不到半年的时间,虽然已有一些上网本生产厂商,如Acer、Gateway、Packard Bell宣称在2010年将推出基于Chrome操作系统的上网本,但对新
面世的操作系统从熟悉、开发到产品化都需要一定时间,这些产品最早也要在2010年下半年才能面世。而截至目前,全球范围内还未有电信运营商提出基于Chrome操作系统的上网本定制要求。
3 Android与Chrome的发展与未来
Android和Chrome都是谷歌发布的软件平台。这两个软件平台究竟有什么联系和区别?谷歌要发布两个软件平台的战略考量是什么?这两个软件平台将会如何发展,是并存、融合还是取代呢?本文将一一进行解读。
从上文介绍可以看出,Android和Chrome都选用了开放源代码并可用作深度定制的Linux作为系统的内核,这是两个软件平台相同的根基。但在此内核之上,两个平台分别构建了两个完全不同的运行环境,Android搭建了Dalvik的虚拟机,使用Java语言来编写程序代码,以传统的C/S架构在终端设备上构建和运行应用程序;而Chrome则搭建了一个功能非常强大的浏览器作为整个平台的运行环境,以B/S架构解析使用HTML标记语言和JavaScript等脚本语言编写的信息内容或者应用。
从这两个平台搭建的不同运行环境,可以窥探出谷歌对这两个平台的策略是有所区格的:Android更多的应用在智能手机上,处理比较复杂和专业化的功能,特别是对手机底层硬件的控制和使用;而Chrome更多的是为上网本而设计,满足那些大部分时间都花在上网的人的需求,如在浏览器启动速度、页面加载和JavaScript执行等方面都表现优异。谷歌也声称Android会应用在上网本、机顶盒这样的设备上,但Android上的浏览器Chrome Lite无论在功能、性能和可扩展性上,都与Chrome有着明显的差距,如果设备厂商想造出更适合网页浏览的上网本,Chrome将是更明智的选择。另外,在笔者看来,谷歌通过软件带来流量,再通过流量点击广告,广告商支付给谷歌费用的盈利模式,促使谷歌需要快速推出Android以抢占智能手机市场,抢夺移动互联网的流量;而Chrome则更多的是为了部署谷歌下一阶段的战略——WebOS服务。
对于Android和Chrome今后如何发展,是并存、融合还是取代,在业界,包括谷歌自己,都引起了一番讨论。笔者认为,Android和Chrome毕竟系出同门,它们都是服务于谷歌各种各样的移动互联网服务,始终都是谷歌在移动互联网服务上实现丰厚利润的工具和载体。因此,无论是Android目前迅猛的发展势头,还是今后Chrome的异军突起,对于谷歌来说,这些都是它希望见到的局面。所以,Android和Chrome是并存、融合还是取代,就连谷歌自己也没有一个准确的判断。也许Android会在智能手机中抢占到比较大的市场份额,也许Chrome会在上网本中独
占鳌头,也许在不久的将来,Android和Chrome会融合衍生出更符合移动互联网发展和使用的平台?还是留待移动互联网的发展来验证吧。
参考文献
[1]www.j2mehome/System/WindowsMobile/ 8269.html[EB/OL].
[2]/blog/2007/12/android_apache_license_not_gpl.html[EB/OL].★
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论