最近 Google 宣布成立了一个由三十多家手机生产商、移动运营商(其中包括中国移动)和其他科技公司组成的“开放手机联盟”,并于上周发布了 Android,一个为开发者设计的开放软件平台,由操作系统、类库、应用程序框架和应用软件组成的全面整合的移动“软件栈”。然而 Android 并没有真正采用“纯正 Java”路线,这又将 Sun 推到了一个比较尴尬的境地。
开放手机联盟的成立,尤其是其宣称对 Java 的支持,对 Sun 来讲无疑是一个好消息。因为 Sun 可以借助 Google 及手机开放联盟的影响力进一步拓展 Java 的应用领域。因此,Sun 公司 CEO Jonathan Schwartz 对 OHA 的成立及其宣称对 Java/linux 的支持表示了赞赏 :
我仅代表 Sun,衷心地祝贺 Google 宣布他们新的 Java/Linux 电话平台——Android。祝贺!我也希望 Sun 成为围绕该平台提交完整开发环境的第一个平台软件公司,因为我们 Sun 在努力投放针对移动设备的 NetBeans 开发环境。显而易见,我们已经做了大量的工作以支持在所有基于 Java 平台上工作的开发者,我们将 Google 的 Android 加入列表。
可是在 Google 公布了 Android 平台之后,人们发现,Google 并没有沿着“纯正 Java”路线走下去,它并没有提供一个 Java SE 或 Java ME 的完整版本,而是另辟蹊径 ,Android 只是用了 Java 的很小一部分子集,并使用了自己的 Dalvik 虚拟机。很明显,这可以看作是 Java 阵营的再次“分裂”。
因此 Sun 紧接着又表示了对 Android 的担忧 ,担心 Google 的 Android 项目会造成数种互不兼容的 Java 版本。在甲骨文的 OpenWorld 大会上发言时,Sun 负责软件业务执行副总裁格林表示:
Sun 希望与 Google 合作,解决可能出现的任何问题。他说,我们真的有兴趣与 Google 合作,确保开发人员无须面对一个“分裂的”环境。我们已经与 Google 进行了接触,确保这些平台和 API 的兼容,使应用软件能够被部署在尽可能多的平台上。
Sun 公司一直在避免 Java 环境的分裂而努力着。前不久,Sun 所推出的 JavaFX Mobile 也是用于移动设备的一个从操作系统到框架和应用的完整套件,它构建在 Sun 所收购的 SavaJe 套件之上:
1.JavaFX Mobile 是一个完整的移动套件和实现。它不仅仅是一套规范,还是一个实际(单一)实现。基本上它是完全用 Java 编写的全套 OS + 应用 + API 。只有内核和一些设备驱动是用 C 编写的。
2. 我们可以在信号场内更新系统。移动市场将不再被存在 bug 的旧实现或当前特性所分割。每个设备可以在该平台的同一版本上工作。
3.JavaFX Mobile 是为高端电话设计的,这意味着它具备了 JavaSE 的能力。 其中第三点是最重要的一点。我们的长期目标是使 JavaSE 和 JavaME 趋于一致。你不再需要了解多个 API。只有一个 Java。
Sun 统一 Java 开发环境的想法是非常好的。但是 Google Android 的出现,对 Sun 在防止 Java 环境分裂方面所做的努力是一个打击。JavaFX Mobile 与 Android 相比,单从平台的基本特征看,一时还看不出谁优谁劣,但是开放性对于 Android 来说是非常重要的,它是 Android 赖以生存的根本。因此 Apache Labs 开发人员 Stefano Mazzocchi认为 ,Google 可能是将开发 Dalvik 作为避免使用 J2ME 所带来的与 Sun 之间的许可问题。这让人联想到长久以来 Apache 就 OpenJDK 的许可问题与 Sun 所发生的争执。
解铃还需系铃人,或许 Sun 自身就是导致今天 Java 不断分裂的重要原因。
评论