InfoQ

新闻

Google发布Android,Sun何去何从?

作者 宋玮 发布于 2007年11月20日 上午2时7分

社区
Java
主题
JCP标准,
移动
标签
JavaFX Mobile,
Java ME

最近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不断分裂的重要原因。

1 条回复

回复

"或许Sun自身就是导致今天Java不断分裂的重要原因" 发表人 Jay Zhao 发表于 2007年11月26日 下午6时53分
  1. 返回顶部

    "或许Sun自身就是导致今天Java不断分裂的重要原因"

    2007年11月26日 下午6时53分 发表人 Jay Zhao

    "或许Sun自身就是导致今天Java不断分裂的重要原因"
    Maybe

独家内容

OpenSocial规范、实现现状与展望

OpenSocial为构建跨多个网站的社交应用程序提供了一组通用 API。开发人员可以使用标准 JavaScript 和 HTML 创建应用程序,用以访问社交网络里的朋友并更新对应的Feeds。本文是对本次QClub活动内容的一个简短总结,希望对没有到现场参会的读者了解OpenSocial有所帮助,也希望能引起大家更多的讨论。

运用Ruby纤程进行异步I/O:NeverBlock和Revactor

Ruby 1.9的纤程(Fibers)和非阻塞I/O越来越收到关注了。我们对来自NeverBlock项目的Mohammad A. Ali和来自Revactor项目的Tone Arcieri进行了访谈。

与杨巍一起探讨OpenSocial

InfoQ中文站有幸与Google中国的产品经理杨巍先生在一起探讨了OpenSocial的相关话题,包括OpenSocial的初衷、构成要素、实现方式、以及要实现它的技术储备等等。

书评:敏捷模式──指向成功的路标

Ryan Cooper对Amr Elssamadisy的新书发表了评价,并认为书中提供了一种为实施敏捷量身定做的框架。本书并没有给出一种人人可用的敏捷方法,而是为读者提供一些模式和工具,用以找出哪些敏捷实践可以最有效地达到该组织机构的特定目标。

构建的可伸缩性和达到的性能:一个虚拟座谈会

这个由业界主要专家们参加的座谈会探究了在使应用程序具备尽可能好的伸缩性及性能的过程中所面临的挑战和思考过程。

OpenSocial的分析与实现

本视频主要对OpenSocial进行了分析,并对实现的方式进行了介绍。其中包括:OpenSocial的开发经验、Container Provider的技术准备、平台的构成要素、具体的规范、以及对未来的展望。

缓存系统MemCached的Java客户端优化历程

Memcached在大型网站被应用得越来越广泛,但是Java客户端并不多,本文作者基于现有的开源客户端进行了封装优化,并翔实记录了这一过程。

超越SOA:动态业务应用的新企业应用框架(2)

在他们文章的第二部分,作者探讨了动态业务应用的架构并介绍了资源容器的概念。他们示范了如何在JEE之上构建这个架构,以及它如何影响实现生产力。