JavaFX之我见

 

RIA从去年到现在一直是一个很热门的话题,从微软的SliverLight,到Adobe的Flex,Java的JavaFX,谁会是未来的主流,谁会成为最终的胜者,现在都还难以定论。就开发状态而言,SliverLight现在是Beta2,Flex也已经到Version3了,JavaFX从去年开始我就看到过了,不过一年的时间过去了,前段时间才出Preview,哎,说实话,Java的东西最大的优势还是在于有一大堆开源免费的解决方案,不然也真的看不出什么好的了,最近我同事一直在关注SliverLight,SliverLight我始终还是提不起兴趣,微软的东西,看上去很美,谁用谁知道吧。Flex也不想去尝试,Flex跟SliverLight也是一路货啊,很强大,不过都是价格不菲,按说盗版真没发达,搞个盗版来玩玩还是很容易的,不过盗版用起来总是让人感觉挺悬乎的。所以最终我还是选择JavaFX学学吧,就算到时候JavaFX很垃圾了,似乎也还可以转到Flex去,就像JavaFX的Hans Muller 一样转战Flex。

这几天都在看JavaFX的相关资料,总体感觉JavaFX还是很强的,不过关于JavaFX的资料太少了,或许你会不相信,Google上搜索一下JavaFX,1,750,000个相关结果,关键的关键是JavaFX的改动太大了,从去年到现在,以前的JavaFX只有3个常用的包,javafx.ui,javafx.ui.canvas,这两个Package在现在的Preview里面已经完全空空如也,这么大的改动Sun也不说一声,害得我下了一本JavaFX的书,准备看图索骥,边看边练,结果HelloWorld都跑不通,还好NetBeans里面有Code Snippet,用了这个才完成了Hello World,汗。。。

而且Java官方网站的例子实在太少了,教程也少得可怜,像API doc,我一开始在网站上找了很久都没找到,后来偶然间打开Preview SDK的安装目录,才知道API Doc藏得这么深,,这个API Doc从界面上来说比以前传统的JavaAPI Doc好看多了,不过里面的内容很多都很“简洁”。 还有一些杂七杂八的让人感觉很不爽的东东,比如说www.javafx.com这个网站,应该也算JavaFX的一个门面了,在FireFox里面看起来还是比较酷的,不过在IE里面就不行了,页面都乱了,哎,粗制滥造啊。还有JavaFX Preview本身的问题,JavaFX里面有些特性是需要JDK Update 10Beta版的,比如窗口透明特性,这点Sun应该在官方网站上说明,我第一天用Preview的时候,Netbeans无故死了好几次,后来想想可能是代码的预览功能,每改动一次代码,预览界面就会刷新一下,这个刷新的过程比较卡,我编HelloWorld的时候都需要好几秒,而且预览界面似乎就是简单的Run了一下,这样每一个预览都开一个新的Frame,可能到后面就内存泄漏了,到后来我就不怎么用Preview,这么慢,还不如直接点击Run。

说了这么多JavaFX的缺点,还是打算好好学一下,毕竟java里面开源的,免费的多,而且其他的不熟啊,还是Java的熟悉,最近听说Sun的日子不好过啊,还有谣言说要被富士通收购,晕,这样的话java不就完了,,,

2 评论:

墓园草莓 说...

汗!
暴汗!
瀑布汗!
您老人家的文章对于我这个初学者太深奥了~~~~~
我原本还指望能看明白JAVA与JavaFX之间到底有什么本质区别的呢~~~~~没想到顶了两个熊猫眼看了半天我完全没看懂!
能不能麻烦您给说说AVA与JavaFX之间到底有什么本质区别,应用与语言(语言是关键)上有什么不同?
谢谢啊~!

阿福 说...

汗!
暴汗!
瀑布汗!

JavaFX我感觉就是Sun学Adobe Flex3的,Sun创造了一个看起来全新的语言,但是这只是表象,JavaFX的是用Java写的,相当于用Java编写了一门动态语言,而且正因为JavaFX是基于Java的,一个很大的好处就是很多的jar包可以直接在JavaFX下被调用,只因他们本身就是同一个语言。但是对于初学者来说,对于两个都没接触过的人来说,可能会认为他们是两个不同的东西,因为JavaFX的语法什么的跟Java完全不一样了,是描述性语言。