Sun今日发布了其RIA平台JavaFX的1.1版本。Java.net科技博客的Doederlein记录了他对JavaFX 1.1的印象。
从Release Notes和一些调查中得到的对JavaFX 1.1的主要印象:
1、JavaFX Mobile的官方支持:“官方”一词,我想Sun指的是v1.0 品质。然而这仍不算是个真正的FCS,因为只有在真正的设备上运行runtime时它才是。
2、一些JavaFX Script语言性能的提升;
3、语言性能和稳定性的提升。在release notes中没有bug清单,所以你必须在JIRA中查询,JavaFX 1.1发布的codename是Franca,修补了148个补丁(增加了7个未修复的)。尽管其中的一些补丁不足为题(如说明文档、凌乱的教程)但从1.0.1到JavaFX 1.1发布的两个月的时间内,修补的bug数量仍然相当可观。
4、JavaFX桌面的全屏模式。看起来这是1.0版本的重要特性,但是被差劲的说明文档和几个bugs给拖累了。
5、javafx.fxd包,之前是一个扩展的lib,现已添加到core中(常规文档)。除了FXDLoader,你还可以克隆SceneGraph项目(使用Duplicator类)而且不需要配置库(尽管这可能比你的applet还大)。我仍在等待更加常规的克隆特性。
6、升级的文档(这仍是JavaFX的一个弱点)。我注意到升级的javadocs,但是Language Reference看起来根本就没有升级。尽管JavaFX的指导材料越来越多,但我还是倾向于好的整齐的官方指导。
提升和兼容性
唯一的语言变化看起来好像在typesystem:JavaFX Script现在支持所有Java基本类型(Java primitive types),像通常的大写名字如Long,尽管编译器会尽可能地避免将对象封装。如果硬要说的话,好的一点是JavaFX更加像Java了,高效、与大量Java代码集成整合。
这种改变的另一个方面是JavaFX的Number类型变成了float而不是double。这是一个不错的改变,对FP来说,floats在JavaFX(GUI & graphics)的领域内更加流行:尽管你在一些地方比如transforms中会用到double,但大部分的toolkits,乃至3D APIs包括Java2D,都使用float精密度来定义像屏幕坐标之类的东西。在JavaFX中,有时我们不得不使用double精度的Number来定义更大的整数(比如毫秒级时间间隔)。
但这种改变也会带来代码的破坏。拿我的JavaFX Balls代码来说,当我运行到新的runtime时,看起来工作了但是FPS计数器疯了,报告2147483647帧!!(这是0x7FFFFFFF)。我轻松地修改了这个问题:我将couple变量声明从Number改到了Long。
这个问题对于来自Sun的开发工具来说有点让人吃惊,而且你永远都会期望向后兼容。但是很高兴的是Sun总是在修复他自己操之过急做出的错误决定,尤其是许多终端的JavaFX设备还没有被开发出来。运行时间可以执行,无论是1.0.1还是1.1,都配置在插件的cache中,每个applete/JAWS应用都使用为之构建的runtime,所以现有的JavaFX applets不会被打破,只是它们不能够自动运行在新的已经升级的runtime上而已。
性能
从我开发的产品JavaFX Balls来看,JavaFX 1.1与之前的版本性能几乎一样,更多数量的balls的问题仍然存在。而且这个问题看来不会在版本1.1中迅速修复,我预计最早也会在v1.5 (Marina)中得到显著改善,因为整个Scenario runtime正在加强,而且,JavaFX将会获取到一整包的‘native’ (SceneGraph-based)组件,增加了V-sync动画制作和其他重要的提升。
我没有做更多的测试,JavaFX Balls被局限在JavaFX-centric的基准点,原因之一是这甚至不会抓取Effects框架。而且现在JDK 6u14-ea-b01具有6u12+特性,被JavaFX 1.1和G1 collector获取。早在JDK 7 builds中我就测试过G1,很慢很崩溃,所以我并不看好6u14-ea-b01版本会***。
JavaFX Mobile
移动程序的开发的确需要很大的提升。我已经将JavaFX Balls装到JavaFX Mobile中,结果很恐怖而且在beta仿真器中极不稳定。另外的问题是:我必须改变VK_STAR to VK_ASTERISK;尽管代码仍旧被编译,但之前的代码不再与仿真器的‘*’按钮所匹配。
Sun的官网公布了JavaFX Mobile的一些支持伙伴,在手持设备方面,仅有LG和SonyEricsson,我希望有更多的这方面的合作伙伴。我的下一个手机将会安装******的Java,包括JavaFX Mobile。
不好的一点是mobile runtime目前并不是在所有现有的设备上都能够安装后就可用,也许不久后这个问题就可以解决。Danny说“你将在JavaOne 2009上看到更多JavaFX Mobile可以运行的手持设备,年底的时候还会有更多的手机。”
新闻名称:JavaFX1.1版发布脚本语言性能提升
本文链接:http://www.shufengxianlan.com/qtweb/news44/412794.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联