一个显著不同是谷歌自己开发的Java虚拟机内核技术 (JVM),称为Dalvik,该Java虚拟机在Android手机上执行Java程序.谷歌表示,即使在手机的限制性硬件上,Dalvik也能使 Java程序运行得很快.与我们通常使用的Java虚拟机的一个显著的区别就是, Android并不属于Sun公司在1999年成立的Java标准制定组织(Java Community Process, 简称JCP)的一部分.
谷歌的
Android软件给了
Sun公司的Java技术一个显赫的角色---但并非是其它手机厂商从2 0世纪9 0年代以来借以不断发展的Java技术版本.
相反,谷歌试图独立提高开放
手机联盟 (Open Handset Alliance)的手机中使用的软件的性能和开放性.这意味着,程序设计员们将有一个新的Java技术可以用来编程,谷歌周一宣布了一项价值一千万美元的Android应用软件开发大赛以吸引开发精英参与.
一个显著不同是谷歌自己开发的Java虚拟机内核
技术 (JVM),称为Dalvik,该Java虚拟机在Android手机上执行Java程序.谷歌表示,即使在手机的限制性硬件上,Dalvik也能使 Java程序运行得很快.与我们通常使用的Java虚拟机的一个显著的区别就是, Android并不属于Sun公司在1999年成立的Java标准制定组织(Java Community Process, 简称JCP)的一部分.
JCP负责处理和审批各种Java技术和技术规范,将新的Java特点系统化为
应用程序编程接口(API),所以程序员可以有一个标准的方式调用新的技术,比如蓝牙技术或三维图形.但现有的Java的技术不能满足谷歌公司认为对于Android平台很重要的开放性要求.
致力于 Android平台开发的谷歌高级工程师Mike Cleron 说:“我们希望该平台以多种不同的方式开放.我们的想法是,谁都可以在已有的Android软件上,甚至及其细微的层面上进行二次开发和替换.现有的 Java APIs并没有达到我们希望在Android上达到的开放性要求.”
应该指出的是,谷歌并不是在一个完全没有Java的环境下工作.举例来说,其中的一个OHA(开放手机联盟)合作伙伴,摩托罗拉,已经帮助引领基于Java的移动设备开发,谷歌想要保留开发人员熟悉的 Java编程经验.谷歌是JCP(Java标准制定组织)执行委员会的成员之一,但只是负责监管运行在个人电脑和服务器上的标准版和企业版Java,而不是手机和其它设备的移动版Java.
Android平台工程总监Steve Horowitz 说:“我们团队里有专人活跃在Java社区,他们一直在帮助告诉并指导我们,这保证我们做的是工作是Java社区的开发人员所熟悉的.”
进一步支离破碎吗? 但更大的问题是谷歌的努力是否会恶化本已已经支离破碎地的
Java领域.并非所有的手机都支持Java标准,所以程序员不能肯定的是他们开发的软件是否将可以运行在多种设备上,就像Java承诺的那样:编写一次,随处使用.
Trolltech 公司的首席技术顾问Benoit Schillings对我的朋友Maggie Reardon说:“他们(谷歌)使用Java,但他们却没有开发出任何著名的Java框架.他们真正创造的是另一种Java标准.这带来的风险是有可能使Java 市场更加支离破碎.” Trolltech 公司主要向既开个人发电脑又开发手机程序的程序员销售软件工具和程序组件.
移动电话
视频流公司Movidity的首席执行官Mauro Lollo 以同样的观点看待谷歌所作的工作,他说:“从本质上讲,他们(谷歌)创造了另一种Java标准.这个标准毫无疑问是伟大,但面临的挑战是目前的已有的Java标准太多了,”
谷歌还面临着共同的风险,即开放源代码软件开,软件开放性将意味着程序员可以按照不同并且不兼容的方向开发项目.(事实上,这是Sun最初抵制将 Java做成
开源软件的一个原因.)Schillings 说:“最后,可能有20种不同版本互不兼容的Android技术.因为任何人都可以拿到许可并修改它,创造出另一个版本的Android,” 就其本身而言,Sun支持将Java技术和开放源码软件应用于移动设备上,但关于加入谷歌的开放手机联盟(OHA),Sun采取了谨慎的态度,其软件部执行副总裁Rich Green表示:“我们有兴趣加入到谷歌的联盟中来,但首先我们要弄清楚这个组织的需要承担的责任.”
在问到是否存在Android同Java标准制定组织(Java Community Process)合并的可能性时,Horowitz说:“OHA是一个开放的联盟,我们欢迎任何想加入我们的人,”