JavaFX是什么?

JavaFX平台是Java客户端平台的进化产品。使用它,应用程序开发人员可以创建和部署跨平台的富互联网应用(RIAs)。JavaFX平台提供一组基于Java的图形和媒体API,其中图形引擎通过硬件加速使其性能更高,媒体引擎则可简化数据驱动的企业级客户端应用的开发。

对于Java开发人员和Java生态圈中的公司来说,使用JavaFX平台具有以下优点:

l  由于JavaFX平台是由Java编写的,Java开发人员可以使用他们已有的技术和工具来开发JavaFX应用。

l  由于Java的广泛使用,很容易找到并让一位有经验的Java开发人员迅速转变为一位具有工作能力的JavaFX开发人员。

l  通过在服务器端和客户端使用同样的Java技术,JavaFX平台通过减少复杂的业务解决方案来降低投资风险。

l  由于以上优点,开发成本也得到了降低。

l  JavaFX平台还为创建多平台的企业或商务应用提供了开发框架和运行环境。

想要学习关于JavaFX平台的架构和关键概念,请查看JavaFX架构与框架文档。

JavaFX的简史

在JavaOne 2007会议上,Sun公司介绍了JavaFX平台用于帮助内容开发人员和应用程序开发人员为移动设备、桌面、电视和其他消费设备创建内容丰富的应用。刚开始的时候,JavaFX只提供JavaFX移动平台和JavaFX脚本语言。在那之后,JavaFX又发布了几个版本;JavaFX 1.3发布于2010年4月22日。

在Oracle获得Sun公司后,Oracle在JavaOne 2010大会上宣布不再支持JavaFX脚本语言,转而支持纯Java语言的JavaFX,并宣布将要发布JavaFX 2.0。这意味着对于所有的Java开发人员,无需再去学习一门脚本语言就可以直接使用JavaFX。而后,Oracle发布了JavaFX的富客户端应用环境。

JavaFX 2.0中新添加的内容

JavaFX 2.0具有以下新焦点领域:

Java APIs。JavaFX中的Java API提供了Java开发人员熟悉的语言特征(如泛型、注解和多线程),这些APIs被设计为对于其他在JVM运行的语言,如JRuby或者Scala都可适用的。由于JavaFX的可以完全通过Java APIs来使用,你可以继续使用你熟悉的Java开发工具(如IDE,代码重构、调试和性能测试工具)来开发JavaFX应用。

新的图形引擎。JavaFX使用新的图形引擎来处理图形单元。新引擎的基础是被称作的Prism的硬件加速管道和被称作Glass的窗口工具集。这个图形引擎为创建简单、快速、平滑的图形提供了从现在到将来都具有一定优势的基础。

FXML。FXML是一个基于XML用于描述JavaFX应用UI的语言。他不是编译型语言所以你无需每次修改布局后都重新编译代码。

新的媒体引擎。新的媒体引擎支持播放web多媒体内容。它在GStreamer多媒体框架的基础上提供了一个稳定、低延迟的媒体框架。

Web组件。使用WebKit HTML渲染技术,Web组件提供将Web页嵌入JavaFX应用程序的能力。通过使用Prism,这种渲染可以使用硬件加速功能。

浏览器插件。浏览器可通过插件加载基于Prism的JavaFX applets。

种类丰富的内置UI。JavaFX提供内置的UI包括图表、表格、菜单和面板。并且,JavaFX还提供一个API用于允许用户使用第三方提供的UI。

范例应用。范例展示了JavaFX 2.0的各种技术特征,并提供了大量的代码范例和片段。

我能用JavaFX做什么?

表1中是一些JavaFX范例应用的的缩略图(点击缩略图可查看大图)。(大家自己去官网看吧....)想要运行这些和更多的范例应用,请转向:http://www.oracle.com/technetwork/java/javafx/downloads/index.html,下载包含JavaFX 2.0范例和其他文件的压缩包。所有范例都在压缩包中javafx-samples-2.0目录下。(若干废话教你如何双击打开应用....)。Netbeans工程项目在javafx-samples-2.0\src目录下。想要运行这些Netbeans项目,确定你的Netbeans IDE符合JavaFX系统需求。范例程序源码在javafx-samples-2.0\src\<sample>目录下,这里<sample>是你感兴趣的范例应用的名称。每个源码目录都是一个Netbeans项目。

如何创建一个JavaFX应用?

由于JavaFX是使用Java语言编写的,所以你可以使用你喜欢的编辑器或者支持Java的IDE,如Netbeans、Eclipse、JDeveloper或者IDEA来开发JavaFX应用。你可以根据下面的步骤来创建一个简单的JavaFX应用:

1.        下载JavaFX SDK

2.        根据开始JavaFX教程来创建一个展示渲染的简单应用。

P.S. 虽然不是第一次做这种翻译了,但是依然很生疏啊。哪里不太对的地方欢迎大家拍砖。我个人认为JavaFX还是有发展前景的,起码相比Swing。毕竟做UI还是应该是以声明式语言为基础,比如说HTML或者JavaFX的FXML。放弃原来的JavaFX脚本语言也有一定的好处,这使得完全可以用JRuby、Scala或者Groovy作为界面脚本来使用了。