Oracle为客户端Java制定两年计划

Oracle以往主要关注企业级软件,这使人们误以为Oracle在很大程度上忽略了Java客户端软件。然而在今年的JavaOne大会上,Oracle明确表示他们正在重新推动桌面端的开发,主要代表就是JavaFX。而且JavaFX也将通过OpenJDK使整个JavaFX平台开源。

其实JavaFX早在2008年就已经提出来了,然而只获得了有限的推动。因为很多开发者抱怨,在使用这种GUI开发框架的时候,他们不得不学习一种新的编程语言(JavaFX Script)。 在去年的JavaOne 大会上,Oracle宣布,JavaFX 2.0 将摒弃JavaFX Script,代替它的是一套完全基于Java的API。JavaFX 2.0基于上述说法发布,这意味着开发者可使用任何基于JVM的编程语言(Java、Clojure、 Scala、Groovy等等)和在JVM运行的任何平台来开发JavaFX应用程序。这种改变同时带来一些新特性,像基于XML的UI表述语言(FXML),并且支持包括微软的Kinect在内等新设备。

为了帮助开发者们更好地使用FXML语言,Oracle正在开发一套图形编辑器——JavaFX Scene Builder,且已在大会上展示过。该编辑器是一款独立的编译工具,并将集成在NetBeans中。目前它还只处于内部的beta版,预计公共版本最早会在2012年与大家见面。

同时,Oracle关注HTML5和JavaScript。JavaFX 2.0让我们可以在JavaFX应用程序中嵌入HTML5的内容,这些内容会通过WebKit渲染。在JavaOne大会上,Oracle还宣布了另一项 名叫Avatar的工程,它的主要任务是:让基于HTML5 UIs的混合应用程序,无论是在数据中心还是云里,都可以共享Java 客户端和Java EE 服务器上的内容。

与此同时,Oracle将在一定程度上继续支持Swing。很明显,Oracle相信,JavaFX将是构建Java UI应用程序的最好途径,因为在InfoQ参与和组织的各种相关会议中,人们都表现出对JavaFX极大的兴趣。然而作为GUI 开发系统,无论JavaFX怎么好,如果不能在期望的目标设备上运行,那么就毫无意义。

在移动开发领域,这个问题尤为突出。Java ME是Sun和移动电话设备之类平台的成功先驱者,然而Java ME技术在近些年来一直徘徊不前。正在进行中的相关研究也被基于Java的、在QNX real-time OS系统上运行的黑莓(BlackBerry)所替代;Nokia所依赖的Java ME也正因向Windows Mobile平台转变而面临褪色,甚至基于Java的Android 平台也在使用非标准化的Java实现。

前景可期, 在今年的JavaOne 大会上,Oracle宣布了“统一Java ME和最新版本的Java SE”的计划。这个聚合的平台具有重大意义,因为各种相关技术,例如JavaFX,将会在更多的设备上使用。在与Oracle融合中间件团队中的客户端开 发副主席Nandini Ramani的一次交流中,她说她可以让同一款JavaFX游戏既运行在Android平板电脑上,又运行在iPad上——这会受到大家的热烈欢迎。然而 这并不意味苹果公司终于后悔了,并让JVM运行在iOS系统中。这个实例只是说明这样的理念:并不是要求每个人在启动程序中连接私有的JVM资源,而只是 证明了存在这样的可能性。在后来的一次交谈中,Ramani证实,是否在实践中应用运行这种技术,Oracle不会与苹果公司再进行讨论。她同时指出,这 已有先例,例如苹果为了规避类似的限制,已经允许相同的技术在OS X app store 和Cyberduck使用,而且他们确实这么做了。

Oracle同时注重JavaFX在更多的桌面操作系统使用,预期明年发布在OS X和Linux操作系统上运行的GA版本。在2013年,Java 8 SDK版本将会包含JavaFX 3(可能在各种平台上运行)产品。届时,Oracle会通过JCP对该项技术实施标准化。

最后,在2010年苹果公司宣布放弃自己的Java实现平台后,目前Oracle已经拥有可在Mac OS X 平台上用的JDK 7预览版本,预计将于2012年发布GA版本。

查看英文原文:Oracle Sets Out Two Year Plan for Client-side Java

This entry was posted in 未分类. Bookmark the permalink.

发表评论

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Google+ photo

You are commenting using your Google+ account. Log Out / 更改 )

Connecting to %s