当我们展望2009年时,我们可以确定客户端Java技术将迎来一些新的发展。首先,JDK 7将在JavaOne大会上上次亮相。另外,我们还将看到JavaFX Mobile SDK和其它JavaFX版本的到来。毋庸置疑,我们将更多的使用JWebPane。
JavaOne 2009和JDK 7预览
在去年12月中旬Danny Coward曾表示,在JavaOne 2009大会上将展示JDK 7,分享最终将出现在JDK 7中的功能:
·Jigsaw项目实现模块化JDK
·新垃圾收集器Garbage First
·更好的性能
·语言改变
·新I/O机制NIO2
·Swing应用框架
·Java类型注释
·XRender图形管线
·支持流控制传输协议(SCTP)
·支持Unicode 5
Coward建议人们去Joseph D. Darcy的博客(http://poena:9992/Rhythmyx/psx_ceArticle/blogs.sun.com/darcy/)去了解更多可能的改变,Darcy在其博客“为JDK 7小部分更改准备的JSR即将发布 (http://blogs.sun.com/darcy/entry/small_language_changes_jdk_7)”中表示,他将领导Sun的开发团队为JDK 7中小部分改进而努力,并将在上半年提交一个相关JSR。Darcy表示,尽管最后的语言改进还没确定,但String转换和多重异常捕获是比较有可能的改进。
Project Coin
Joseph Darcy宣布推出了OpenJDK项目Project Coin,来包含将在JDK 7中包含的小规模语言改进。
我们还可以增加Java SE 6u10的部分功能(Nimbus、透明窗口、Java Kernel等等)到前面的JDK 7功能列表。
在JavaOne大会的JDK 7预览中,如果某个API(或某个其它的功能)不能出现,并不意味着真正无缘JDK 7,也有可能在2010年JDK 7最终版发布之前的时间再次加入。
2009:JavaFX年
对JavaFX来说,2009年注定是令人兴奋的一年,随着时间的过去,我们将看到更多关于JavaFX的改进。
尽管JavaFX 1.0版已经包含了一个测试版的JavaFX Mobile运行时,可以让你在兼容MSA的手机上运行丰富体验的JavaFX应用,但是开发者应等到2月份JavaFX Mobile发布后,来使用JavaFX Mobile SDK。
在2009年,JavaFX还可能出现一些其它重大发展。年中有望推出一个针对JavaFX的可视化设计工具。我们还可以期待JavaFX 2.0(至少亿预览版的形式)到来。另外,我们可以期待会出现更多的JavaFX SDK更新。
在2009年JavaOne大会上,除了JDK 7值得关注外,预计还将发布更多JavaFX产品,新版的NetBeans和LWUIT也会在2009年推出。Java SE 6预计也会升级到新版本。Java SE 6u12将很快面世,除了意料之中的漏洞修复外,它还将增加如下功能:
·支持Windows Server 2008;
·为运行Windows和Linux的AMD64位计算机带来64位Java插件和Java Web Start支持;
据Richard Bair表示,在JavaFX 2.0中我们将看到一些新功能,Sun正在研发一个新用户界面控制工具集,正在努力大幅提高JavaFX中图形堆栈的性能,正在实现JavaFX对更多Web服务的更好支持。
随着JavaFX变得越来越普及,许多开发者可能希望创建他们的Swing产品的JavaFX版,其中有些将在2009年推出。举例来说,我认为下半年我们可以看到一个JavaFX版的MiGLayout。
总结
在2008年的客户端Java开发中,有三大客户端Java产品影响深远:
·Java SE 6u10:Java SE 6u10的到来标志着改进客户体验的Java时代的开始。首次实现了,用户可以无需等待太长时间下载整个JRE来运行一个Java程序。这种体验在Java SE 6u11及其以后的升级版本中将继续完善,未来的JRE版本将受Jigsaw项目所影响。
·JavaFX:通过JavaFX,Java开发者可以让用户界面在多种设备上通用。只要我们使用相同的轮廓,就可以在桌面、手机和电视机顶盒等上面实现相同用户界面的应用。相比之下,Swing只能让我们创建桌面用户界面。如果我们希望创建一个手机用户界面,我们需要借助于LWUIT。
·Da Vinci Machine Project:由于现在的JVM提供静态类型的指令集,它不容易支持动态类型语言。根据语言不同,所需的开销不同,这可以影响一个程序的运行效率。通过使JVM更友好的支持动态,我们有望最终看到更多客户端开发发生在动态语言上,而并非Java语言。而且我们可能不用等多久就会看到这个新语言功能的到来。
客户端Java的发展是否会受到当前经济低迷的影响,这是一个尚无结论的问题。当Sun公司在服务器销售和技术支持服务方面的收入大幅下滑后,它是否还能保持Java的创新?或许经济压力最终迫使Sun放弃在客户端Java上进一步创新。不过,从本文中我们可以看出,人们对Java客户端改革的呼声已经比以往任何时候都响亮。