< meta http-equiv="description" content="与Adobe Flex和微软的Silverlight相比,JavaFX的效率也相对较低。在我的测试过程中,即时实现一个简单的应用也要编写大量的程序,而且启动一个应用程序的速度也比较慢,需要运行时和代码库的下载"/>

亲身体验Sun JavaFX开发组件

[来源] 达内    [编辑] 达内   [时间]2013-01-15

与Adobe Flex和微软的Silverlight相比,JavaFX的效率也相对较低。在我的测试过程中,即时实现一个简单的应用也要编写大量的程序,而且启动一个应用程序的速度也比较慢,需要运行时和代码库的下载

  最近Sun公司推出了它的JavaFX框架的第一个公测版,使用它可以利用JavaFX编程语言来开发富互联网应用程序(RIA)。这个新开发组件有许多令人惊喜的地方。它的功能非常丰富,对于Java开发者来说,它的类Java语法 以让人们非常轻松的动手开发富互联网应用程序。但是它面临两个重量级的竞争对手,Adobe和微软,它们分别推出了Flex/AIR和Silverlight,来帮助程序员开发富互联网程序,它们不仅更加成熟,而且还包括了非常好用的工具来拉近设计者和编程者之间的距离。

  JavaFX开发组件预览版可以免费下载,下载地址为:http://www.javafx.com/,它包含以下组件:

  JavaFX预览版 SDK:提供JavaFX编译器和运行时工具、用于创建高度互动的桌面和浏览器应用的2D图形和媒体库,还包括教程、API文档和实例代码。

  集成了JavaFX插件的NetBeans(TM) 6.1 IDE:提供了一个构建、预览和调试JavaFX应用的先进的开发环境。

  Nile:一个非常方便的工具,它可以从Adobe Photoshop和Adobe Illustrator导出一些创造性的资源到JavaFX应用。

  Java(TM) Runtime Environment 6 Update 10 Beta: 提供了一个高性能运行时环境,带有一个新的浏览器插件,能够把一个正在运行的applet从网络浏览器中直接拖拽出来,并动态转化成一个运行在桌面系统的程序。

  另外,为了帮助用户入门,Sun还在里面包含了大量的编程实例和模板。

  JavaFX脚本的新语法是Java与JavaScript的混合产物,掌握起来并不困难,只是有些细小的改动,例如它不像Java那样支持接口。JavaFX开发组件预览版让我惊叹不已的功能包括:强大的数据绑定功能、漂亮的工具库等。它还包含了对矢量对象和透明图片的关键支持,但是3-D库和基于真实路径的动画它还不支持。

  Java开发者一定会发现快速用户界面开发要进行声明语法,还有比单调的Swing调用更吸引人的界面。有意思的是,Sun取消了基于XML的概念,而这一点是其它主流RIA厂商选择使用的。尽管我更喜欢XML清晰的界面定义,但是JavaFX中采用的更加简洁、以代码为中心的方式也有可称道之处。

  为了实现设计和开发的同步,Sun提供了一个Adobe Illustrator插件来导出JavaFX资源,另外一个Photoshop插件正在开发中。不过对于基本的可视化布局工具,设计者需要借助于第三方工具,诸如ReportMill的JFXBuilder。显然在这一方面Adobe和微软要表现的更好。

  与Adobe Flex和微软的Silverlight相比,JavaFX的效率也相对较低。在我的测试过程中,即时实现一个简单的应用也要编写大量的程序,而且启动一个应用程序的速度也比较慢,需要运行时和代码库的下载。JavaFX还占用大量的处理器资源;尽管我运行的是一个简单的动画应用,还是占用了我的3GHz英特尔双核处理器32%的资源。

  除此之外还有一些让人失望之处。JavaFX应用不能被直接嵌入到HTML中,而必须作为applets启动,或者通过Java Web Start从桌面发布。另外预览版SDK缺少流视频编码器,但是在最终版中On2技术将被加入来弥补这个缺憾。和Adobe AIR不同的是,JavaFX不支持对主机文件系统的访问。还有,现在它只支持Windows和Mac OS X操作系统。

  但是,这个JavaFX开发工具包还处于预览阶段,今年秋天将发布它的1.0版,Sun依然有时间来打磨完善这个项目。可以与现有Java应用轻松集成,会让JavaFX成为创建企业应用的一个有吸引力的选择,会给Java带来流行的因素。在与Adobe和微软的竞争中,Sun成功的技术组合和Java的长远影响究竟会给JavaFX带来多大帮助还需拭目以待,但是毫无疑问的是Java阵营最终将在富互联网应用竞争中占有一席之地。

资源下载