返回首页

全速前进的Google机器:Android操作系统平台

时间:2009-06-20 15:23来源:未知 作者:童红艳 点击:
全速前进的Google机器:Android操作系统 平台 记者:大森敏行 Phil Keys,本文中文翻译稿由《电子设计应用》特别提供 仅仅几年之前,电子行业的大多数工程师都还认为Google公司不过是一
  

全速前进的Google机器:Android操作系统平台

记者:大森敏行 Phil Keys,本文中文翻译稿由《电子设计应用》特别提供        

    仅仅几年之前,电子行业的大多数工程师都还认为Google公司不过是一家提供搜索服务的企业;但如今,已经很少有人不知道Google公司已经进入了数字消费类电子领域。美国的移动运营商T-MobileUSA公司于2008年10月22日正式上市由中国台湾地区的HTC公司开发的T-Mobile G1手机,这款手机采用了由Google公司开发的手机平台Android。

    一、主引擎登场

        Google公司的企业理念是:整合全球信息,使人人皆可访问并从中获益。为了实现这个目标,该公司构建了世界上最强大的计算环境,并可向所有终端提供各种服务。这样庞大的结构就像是一台巨型机器。

        这台机器的核心是Google公司专有的数百万台服务器,Google即通过这些服务器来以Web应用程序的形式提供各种服务。最近,Google推出其App Engine服务,将一部分计算能力提供给外部开发者,使开发者可借此开发自己需要的应用程序,并在Google公司提供的基础设施上运行。

        利用这些不同服务与数据的客户端组件也已准备完毕,最具代表性的就是Android。作为一款通用的嵌入式操作系统,Android正准备进军手机之外的汽车导航系统、电视等领域。

        最近,客户端又增加了新的组件,这就是Google公司自行开发的Web浏览器Chrome。Chrome是用于在PC(个人电脑)上执行Web应用程序的平台,它是构成Google机器的最后一个核心组件。

        Chrome的上市并不仅意味着Google机器的进一步完善,其真正价值在于浏览器内部的高性能JavaScript引擎V8。通过因特网所提供的服务通常都是作为Web应用程序而被使用,V8正是负责执行这些Web应用程序的主引擎。

        V8不仅可以在Chrome上运行,目前还有ARM版本。只要Google能将V8成功移植到Android上,那么,各种嵌入式设备就都可以享受Google机器所带来的众多优势。

    二、通过JavaScript进入嵌入式市场

        目前看来,对于低成本、多功能的嵌入式设备开发来说,因特网上各种各样的公开服务是不可或缺的。这些设备中使用的软件都将是可以在Web浏览器上运行的Web应用程序。Web应用程序的优势在于,只需Web浏览器与网络即可运行,而无需预先将应用程序集成在设备上。如果需要向应用程序添加新的功能或修改程序错误,也只需更新服务器上的应用程序。在IT行业中,提供基于Web的客户管理应用程序的美国网站Salesforce.com的迅速发展,标志着系统正逐步由“支持网络”过渡为“基于网络”。这个趋势最终也将进入嵌入式领域。

        这些Web应用程序是采用JavaScript语言来编写的。Google公司高级副总裁Alan Eustace表示:“云计算(Cloud Computing)时代的设备必须能够运行JavaScript。”

        传统嵌入式设备中使用的本地应用程序使用解释器来执行机器语言(见图1)。机器语言是最基础的语言,其执行速度取决于处理器。而Web应用程序则使用JavaScript引擎来执行JavaScript代码。与机器语言类似的是,在We b应用程序中,JavaScript是最基础的语言(见图1)。Web应用程序的执行速度不仅取决于处理器,还会受到JavaScript引擎性能的影响。

    快速简单的汽车导航应用

        利用JavaScript可以编写各种应用程序,其中一个实例就是可以在PC上运行的汽车导航应用程序。Google公司在其网站上提供了名为“Driving Simulator”的公开演示,其中的程序采用JavaScript语言进行编写(见图2)。用户只要输入两个地图位置点信息,程序就可以在地图上显示出汽车在这两点之间的道路上的行驶画面。如果将这个应用与GPS定位系统配合使用,就可以轻松地实现汽车导航系统中的复杂功能。

        图2中的演示使用Google EarthAPI(应用程序接口)来显示三维立体地图,使用Google Maps API来显示二维平面地图。通过调用因特网中公开的API,JavaScript代码就可以非常方便地在应用程序中增加各种高级功能。

        Google公司目前可向软件开发者提供50多款API,其中包括定义数据格式的API等。这些可通过各种编程语言调用的API中有许多都不支持JavaScript,但也有GoogleMaps API与Google Earth API等几个API在编写时加入了对JavaScript的支持(见表1)。

        Google机器中的另一个重要部分是Gears,它能在客户端对Web应用程序进行缓冲处理,使Web应用程序即使在离线状态下也可正常运行。如果说JavaScript引擎是Web应用程序的主引擎,那么Gears就是Web应用程序的辅助引擎。

    三、提供通用平台

        Google公司已经可以提供能在嵌入式设备上运行这些多功能Web应用程序的平台,这就是Android。

        Android原本是面向手机应用开发的平台,但Android并不是只能用在手机上。负责Android开发工作的Google公司移动平台总监Andy Rubin表示:“将来,Android的应用将会扩大到汽车导航仪与数字家电等领域。”业内很多嵌入式软件工程师正在将Android移植到各种设备中( 见图3 ) , 比如夏普公司的个人数字助理(PDA)产品“Linux Zaurus”、Willcom公司的智能电话“Advanced/W-ZERO3[es]”,以及东京工科大学与Net-2Com公司共同开发的Linux终端“Kokadai 手机”等。

 

        但是,对于Android能否真的成为We b应用程序平台仍存在一些质疑,因为Android中还具有一个用来执行Java应用程序的独立框架——Dalvik虚拟机。虽然Android的内部We b 浏览器也可以执行JavaScript,但并未使用该公司开发的高速JavaScript引擎V8。 值得注意的是,Android从开发初始就集成了Gears,由此可以看出Google公司很重视在Android上执行Web应用程序。由于便携设备并不总能连接到因特网,在这种情况下,Android就可以通过其集成的Gears来离线运行Web应用程序。未来,如果V8能被移植到Android中,那么Android就会成为面向因特网时代的、强大的嵌入式操作系统。V8中采用了大量的技术,可以实现更快的速度,这些技术包括:JIT(即时,Just-In-Time)编译器(见图4)、碎片收集、内联缓存、隐藏类等。

    四、进行产品级开发

        继手机之后, 下一个配备Android的设备应该会是汽车导航仪。这是因为,Google公司在该领域具有非常丰富的资源,包括通过Map API及其它方式提供的地图功能,以及广泛的地图数据和其它相关数据等。实际上,如果可以使用Street View流动摄像车所拍摄的实景照片,那么,使用实景的汽车导航仪就不再是梦想。此外,Google正在努力完善自己的地图数据资源,比如,Google已与美国GeoEye公司签订了排他性合同,可以独家使用GeoEye公司发射的GeoEye-1人造卫星所拍摄的高分辨率图像,以用于在线地图服务(见图5)。

        Google的地图服务(GoogleMaps)已经具备了与现有的车载导航仪及其它系统相连接的功能。在美国与德国的Google地图中,用户可以将地图中指定的位置信息发送到宝马或奔驰及其它汽车的原装车载导航仪中(见图6)。

        但是,是不是真的会有制造商提供基于Google服务的汽车导航仪?对于这个问题,不同的生产商有不同的答案。

        某个主要汽车制造商的汽车导航仪产品策划人员表示:“通过API来使用Street View及其它数据是很必要的。我认为,虽然我们自己也需要进行一些开发工作,但信息基本上会来自因特网。”另一家汽车制造商的汽车导航仪工程师则持不同观点,他表示:“汽车导航仪只是路线指引设备或娱乐设备,Google的服务并不会对我们造成威胁。”

        某PND(个人导航设备)制造商则透露出对Google服务、数据质量及其它问题的质疑,他表示:“Google的数据是否适合汽车导航仪目前尚未可知。汽车导航仪中还需要包含超速监视区、交通标志等类似信息。我们也担心Google地图的可靠性,以及能否针对道路修改等进行快速更新。我们目前还无法判断Google在这方面打算担负多大的责任。”不过,对于未来的发展方向,厂商们都认为:“如果汽车导航仪的通信基础设施能够进一步完善,那么,具有数据传输功能的产品肯定会比目前内置数据的设备更有效。到了那个时候,Google公司将会造成真正的威胁。”

    五、与微软展开正面竞争

        为因特网时代提供应用程序平台的不光有Google公司。例如,在Web浏览器方面,除了Google的Chrome以外,还有苹果公司开发的Safari、Mozilla Foundation公司的Firefox、挪威Opera SoftwareASA公司的Opera等。Android的竞争对手也有苹果公司的iPhone与Symbian Foundation公司的Symbian操作系统;Gears则要遭遇Adobe系统公司的AIR等产品的竞争。虽然Google公司还可为Web应用程序开发者提供App Engine服务,但这方面也面临着Amazon.com公司EC2服务的竞争。

        不过,Google最大的竞争对手无疑仍然是微软公司(见图7)。针对Google所提供的应用程序平台中的任何一个部分,微软都具备相应的竞争产品。有意思的是,在扩大应用领域的方式上,两家公司选择了完全相反的道路:Google是从因特网往客户端发展;而微软则是从客户端往因特网发展。目前,微软还无法在因特网方面与Google相提并论。但如果要说未来能对Google形成威胁的公司,那非微软莫属。

      勇于挑战所带来的潜在风险

       如果Google公司未来会遭遇什么挫折,那更可能是因为公司自身犯了错误,而不是竞争对手的冲击。Google有自己独特的做事方式,可以总结为:先推出具有冲击性的产品,如果有错误需要纠正,再对其进行修改。Google(日本)公司高级产品经理及川卓对此也表示认可,并解释说:“我们并不会忽视产品的质量,不过,我们的公司文化是,先推出具有一定品质的产品,然后再寻求用户的反馈。这种策略被称为‘尽早推出,查漏补缺(launch early and iterate)。”这样的企业文化也存在一些问题,比如,Google Street View就曾被起诉侵犯个人隐私。

       Google所具有的挑战精神在因特网世界里备受赞美,但在制造业中,就会让人觉得十分轻率,甚至非常危险。对于已成立十多年的Google来说,在进军嵌入式设备行业时,应该采取更加成熟的方法。(记者:大森敏行 Phil Keys,本文中文翻译稿由《电子设计应用》特别提供)

                                                                                                                                                                               返回顶部

------分隔线----------------------------

  • 李老师
  • 李老师
  • 胡老师
  • 胡老师
合作伙伴
  • 武汉工程大学合作培训机构

  • 国家信息技术紧缺人才培养工程(NITE)

  • ARM公司全球授权培训中心

  • 国内首家Symbian授权培训

  • 微软全球嵌入式合作伙伴

  • Altera全球合作培训机构

在线客服
  • 客服热线:
    139-8620-3604
    159-2752-9536



  • 官方微信
  •  咨询微信二维码