近日结束的JavaOne 2009上展示了6月初新发布的JavaFX 1.2,其中一些是关于Java FX未来的产品,还有一些则尚未发布。本文当然不会对此一一列举。本文将谈及的均是JavaFX的新版本,也就是以前代号为Marina,现在称为JavaFX 1.2的版本的三大重要功能特性。
支持Linux和Solaris
在Linux和Solaris之下对JavaFX的支持已经让我们等了相当长一段时间。经历千辛万苦,我们现在终于迎来了测试版。我们的目标是让Solaris和Linux成为JavaFX世界中与Windows和Mac具有同等地位的平台。JavaFX的目标是要让一种Java能适应所有屏幕以及所有的操作系统。这是向该目标又靠近了一步。
有些功能还不能使用,这也是为什么我们称其为测试版的原因,但是它仍然是一个良好的开端。我们现在使用支持视频的GStreamer,曾是缺少的一个关键性能。你有可能会获得一些图像硬件加速功能,当然这要取决于你的distro组件和配置。阴影窗口还不能使用。这是因为基础JRE中存在漏洞。负责图形处理的程序师称他们已经针对这一漏洞开发出了补丁,而该补丁预计会在不久后的Java6和OpenJDK中推出,因此你不需要等到下一版本的JavaFX。
控件和布局
JavaFX具备非常好的图形处理但是在1.0版本中只有单独的本地用户界面控件TextBox。而仅仅是使用文本控件很难制作出真正意义上的商业应用程序。这一切现在都有所改变。JavaFX 1.2 拥有真正适合21世纪的用户界面控件。我们总是在爱恨中徘徊,思考着长远的用户界面工具包的发展趋势。然后我们会创建出新的控件并且API布局,这些努力解决了人们所需的一部分应用程序。而这里只是对新控件粗略做一下介绍:
◆所有的控件都可以用CSS更换皮肤,因此设计师可以创造出一般式样的程序。
◆存在一个默认的控件观感Caspian。
◆控件位于公用文件参数中,这意味着他们可以在所有设备上运行而不只是桌面。
◆用于标准性能的新型控件,如进程指示器和超链接。
◆都是建立在JavaFX布景图之上,因此不会有剩余的AWT。
和这些控件一起出来的是布局系统,它能处理AWT布局的问题。现在要将布局和动画综合起来就变得非常容易了,而且只需用几行代码就可以创建自定义的布局。使用这些控件,我们可以创建真正意义上能跨屏幕运行的商业程序。
当前列表中缺少一些控件。尤其是Tablet和Tree的缺失。这并不意味着开发团队无意向其中添加这些控件。主要是因为没有足够的时间来添加。不过将来这些控件还是会提供的。
速度
JavaFX的目标就是让每个使用它的人都享受到更快的更新速度。你会发现JavaFX 1.2要比1.1和1.0更快。从启动时间,内存使用情况和图形处理性能来看,每个部分的性能都有所改进。对于某些任务其性能更是有了多达三倍的改进。
为了实现这种速度的改进,程序员重新审视过整个平台。编译器从使用真正多重继承转为Mixins。这样就消除了多重继承的弊病。附带的好处就是基本汇编代码变得更小且更快。
图形开发小组花了大量的时间来重新设计场景图以便实现更智能化的场景更新。其结果是减少了用户重新绘制的次数,带来了反响更好的用户界面。
在视频和音频堆栈以及基本图形流水线里都存在漏洞补丁。此外,减少了启动时间并改善了Webstart的性能。总之你会发现JavaFX 1.2为用户带来了比以往更为快速而流畅的体验。
上述三个特性还只是JavaFX 1.2中的很小一部分。最重要的一点是这些都是JavaFX开发计划的一部分。更快与更小的特性确保了程序员能高速高效地为客户开发出高质量的软件。
【编辑推荐】