一位Flex和JavaFX的RIA开发者在本篇文章中对Flex,JavaFX和Silverlight的功能和优缺点各自做出了评论。JavaFX1.1于今年2月发布,2.0版的发布也正在计划中。
Flex, JavaFX, Silverlight…
坦白来说,在开发这个应用期间,我在内心一直在比较用JavaFX做与用Adobe Flex做同样的事情。
简单说来,在今天, Flex比JavaFX高效得多。但我们得记住我们是在用Flex版本3与JavaFX版本1进行对比。如果你了解如何开发Swing应用,你可能就会宁愿继续用Swing,而不是使用我们在这个Pet Store版本中手工创建的JavaFX 1.0包装类。
JavaFX 1.0 最大问题是它不包括任何用于WEB开发的用户界面组件。连简单的超链接组件都没有,更不用说数据网络或者树列表组件。我认为这没有其他原因,只能归咎于Sun公司在开发此新用户界面工具时只投入了太少的时间与有限的人力资源。
幸运的是,Sun即将发布JavaFX2.0 版本,它带有完整的用户界面组件、容器、导航条和布局控制。微软仅仅只为宣布自己做出与Flex相似产品,就在2007年发布了功能不全的 Silverlight1.0,直到一年后,全功能的Silverlight2.0才可用。好消息是Java开发者已经开始建造他们自己的开放源码组件库:Jfxtras。
另一方面,我看到一些功能失于Flex而收于JavaFX。
例如,ActionScript不支持多线程。这在与远程站点通讯时不成其问题-所有的远程调用都是同步的,并且使用回调机制把服务器数据流传送到客户机。但是,如果你需要写或者使用一个执行在客户端的CPU密集计算Java库时,我认为Java就会胜过ActionScript。两种语言的语法相当接近(见http://flexblog.faratasystems.com/?p=115)。
JavaFX支持eval()函数,可以在运行过程中编译并执行一小段代码。Flex并不支持这一功能。
数据双向绑定已在JavaFX实现,但Flex预计到版本4才支持。
我见过一些对于Flex与JavaFX 网络协议的基准测试。最近的测试只是提供了客户机与服务器间的XML和REST数据交换。当然,你能编写Java套接字或者包装一个RMI客户到 JavaFX,这会比ActionScript实时消息协议快吗?我们不知道。或者你能在JAVA Applet和服务器端Java字符流间用HTTP通道通讯。这会比使用AMF,一种基于HTTP的二进制协议快吗?我们也不知道。
在开发移动应用时JavaFX 消除了许多复杂性。它承诺可以不用Java SE开发桌面应用,可以不需要用Java ME开发移动应用—JavaFX就是你的唯一需要的解决方案。JavaFX移动开发提供了硬件加速。记住,Java在移动设备中已经有26亿的装机量!Java在这一领域对Flash Lite有绝对优势。
JavaFX1.1快要发布(编者注:该版本已于09年2月17日发布)。它在移动领域执行更快,bug更少,功能更多,但在桌面平台上没有什么主要更新。
我明白这不是要求大量现金注入的好时机,但是,如果Sun微系统公司的管理者不能找到一条在未来JavaFX版本上双倍扩大基于此平台应用开发团队的方式,整个Adoble Flex团队就能在这一年期内安全地发展起来。因此,如果投入太少,JavaFX就要尽早开放源码。
文章来源:本文节选自mentat翻译的Pet Store with JavaFX 1.0. Part 1. by Yakov Fain
分享到:
相关推荐
javaFX登陆和跳转
将_Adobe_Flex_和_JavaFX_与_JavaServer_Faces_2.0_结合使用.pdf
javafx
当前的JavaFX包括JavaFX脚本和JavaFX Mobile(一种运营于行动装置的操作系统),今后JavaFX将包括更多的产品。JavaFX Script编程语言(以下称为JavaFX)是一种declarative, statically typed(声明性的、静态类型)...
javafx的资源是真的少,为了设置一个表格完全透明花了好多时间,修改表格的滚动条也废了不少力气,这个实例里面就包含了设置表格的完全透明,还有滚动条背景透明。
当前的JavaFX包括JavaFX脚本和JavaFX Mobile(一种运营于行动装置的操作系统),今后JavaFX将包括更多的产品。JavaFX Script编程语言(以下称为JavaFX)是一种declarative,statically typed(声明性的、静态类型)...
记事万年历flex源码 比普通的记事本要美观好用
javaFX Demo 模板案例
JavaFX教程;JavaFX教程;JavaFX教程JavaFX教程;
JavaFx做界面VLC做视频处理,请看源码
利用tableView实现横向滚动,一句代码实现
使用JavaFX+构建GUI+教程 简体中文
javafx2.0,java,javafx,例子,代码 ...因为 JavaFX Script是静态类型,它同样具有结构化代码、重用性和封装性,如包、类、继承和单独编译和发布单元,这些特性使得使用Java技术创建和管理大型程序变为可能。
JavaFX api文档 chm格式
基于javafx和fxml的超市管理系统源码.zip
Java11以后的版本不再集成Javafx,需要单独下载
linux系统下,可用如下两命令运 行 javafx 的 jar包 export JAVAFX=/home/这里是linux的用户名文件夹/javafx-sdk-18/lib java --module-path $JAVAFX --add-modules javafx.fxml,javafx.controls -jar demo.jar 或都...
javaFX单独放大缩小图片和移动图片的很多,很难找到能缩放和移动一起实现的例子。由于项目的需要就自己写了个javaFX实现图片放大(以图片中心放大)、缩小、鼠标移动。(netbeans项目)
闲来无事,写了个Springboot JavaFx mysql mybatis整合模板,方便以后windows桌面程序迅速开发,直接套用即可! 要用的话,application配置文件自己改一下数据库账号密码,以及mapper和.fxml的Controller路径!
javaFX高级教程JavaFX2.0的FXML语言 中文文档,想免费上传,CSDN不同意,选了一个最小资源分2