JavaFx2.0的介绍

下面引用一篇博客中对JavaFx2.0的介绍,我觉得写得蛮好的

 

“现在做Web应用开发,提得最多的概念就是RIA,即所谓的富互联网应用程序。 在RIA开发的技术选择中,基本上是两大派别:一个是不依赖插件的开放标准派,依靠Ajax和最近非常火热的HTML5,
其思想是把浏览器作为唯一的运行 平台;另外一个派别则是插件派,依靠的是浏览器上的插件来支撑RIA应用的运行。插件派里面比较重要的参与者是Adobe的Flex、
微软的 Silverlight和Oracle的JavaFX。两种派别的做法各有利弊:在HTML5没有被广泛支持之前,浏览器本身的能力始终有限;
而依赖插件 的做法无疑会带来部署相关的问题,普通用户可能会被插件的安装过程折磨得放弃使用这个应用了。从部署的角度来说,Adobe和微软的处境要好得 多:
Flash现在基本上是浏览器的标准插件,很少有浏览器不装的,除了iPhone和iPad上之外。微软有操作系统平台和浏览器的优势。而Oracle的JavaFX则比较尴尬,受限于JRE的部署状况。
JavaFX从它2007年发布以来,表现一直差强人意。Oracle收购了Sun之后,在JavaFX中投入了大量的精力进行推广和更新。
JavaFX最近比较出名的应用应该是在2010年温哥华冬奥会上。在调整了JavaFX中的很多概念,以及重新设计和实现了很多重要组件之后,
得到的就是现在的JavaFX 2.0。JavaFX 2.0的beta版已经发布,正式版则定于今年第3季度发布。在最早的时候,笔者也研究过JavaFX。不过在当时来说,
JavaFX可用的地方并不多。JavaFX 2.0的新特性使得开发人员应该需要重新审视它在RIA开发领域中的位置。在很多情况下,JavaFX 2.0也会是不错的选择。
JavaFX 2.0的一个最重要的改进是放弃了JavaFX Script。JavaFX Script本来的目的是为开发人员提供一种简洁的脚本语言,用于创建RIA应用。
但是,JavaFX Script并没有达到它的预期目的。其原因在于JVM之上已经有很多不错的脚本语言可供使用,JavaFX Script本身的吸引力不大。
开发人员也不愿意学习新的脚本语言。放弃JavaFX Script之后,JavaFX的功能全部通过Java语言来访问。这是一种很明智的做法,可以利用广大的 Java开发者群体和社区优势,
也有利于复用已有的资产。
JavaFX 2.0实现了自己的一套图形用户界面库,不同于Java平台上已有的AWT和Swing。从适用性上来说,AWT和Swing比较适合传统的以内容为主的 交互性较弱的桌面应用。
这点从AWT和Swing中包含的组件就可以看得出来,只是一些常见的内容驱动组件,甚至没有图表的支持,只能依靠JFreeChart这 样的第三方库。
如果需要创建内容丰富的界面,则需要利用Java 2D和Java 3D API来自行绘制。对多媒体的支持也不够有限。JavaFX 2.0新的图形用户界面库把基本图形元素和
用户界面组件两类元素统一在一起。不管是矩形、椭圆、按钮还是表格,都是用户界面上的节点,可以用相似的方式来 处理。JavaFX 2.0在JVM之上,
实现了新的类似AWT的窗口工具箱Glass Windowing Toolkit,可以直接利用操作系统的原生事件队列。从此再也不需要小心注意AWT和Swing中事件分发线程的使用问题了。
JavaFX 2.0中的图形渲染引擎Prism可以借助底层操作系统上的DirectX和OpenGL提供的硬件加速支持,因此性能优于传统的使用Java 2D进行软件渲染的做法。
在用户界面组件方面,除了基本的常用组件之外,还提供了图表绘制的支持。在多媒体支持方面,除了基本的图片之外,JavaFX 2.0的媒体引擎支持MP3、AIFF和WAV等音频格式和FLV视频格式。
在组件的外观方面,JavaFX 2.0也采用了更加流行的做法,即用CSS来定义应用的外观。另外,JavaFX 2.0也引入了界面描述语言FXML。
FXML在功能上类似微软的XAML,是一种用户界面描述语言。FXML+CSS+Java这样的组合,颇有些Web应用开发中HTML+CSS+JavaScript组合的味道。
值 得重点介绍的是JavaFX 2.0中的Web引擎组件。这是一个基于Webkit内核的内嵌浏览器。在JavaFX应用中可以访问内嵌浏览器中网页的DOM结构和执行 JavaScript代码。
基于Webkit意味着这个内嵌浏览器支持HTML5的新特性。这个内嵌浏览器可以在很多场景下都得到应用,比如Web应用的 自动化测试。
另外一种用法是把内嵌浏览器作为Web应用运行时刻的环境,以一种Java+HTML的方式来呈现。
JavaFX 2.0至少把Java平台变成了一个开发富客户端应用(RCP)的良好平台。在以后的开发中,AWT和Swing应该会逐渐淡出桌面应用开发的视野。
JavaFX将成为Java平台上主流的图形用户界面开发库。而在RIA方面,JavaFX的前景仍无法预料。毕竟,
依赖插件的RIA开发方式都受到来自 HTML5的巨大冲击,JavaFX自然也不例外。JavaFX能发挥作用的一个地方应该是在企业内部系统中。
对于企业内部的系统,部署上的问题比较好解 决,同时也有利于复用内部的Java相关的资产。”

你可能感兴趣的:(java,JavaFX,应用,富应用)