论坛首页 Java企业应用论坛

借JavaFX之风,Swing终于熬到了出头之日

浏览 57336 次
精华帖 (19) :: 良好帖 (6) :: 新手帖 (0) :: 隐藏帖 (1)
作者 正文
   发表时间:2008-12-17  
前几天看了点新闻,一是说JavaFX1.0的推出,二是是说Sun停止了对SwingX的资助,由此激怒了社区。
由此一些人推论Sun已经全力押宝JavaFX,Swing将沦为鸡肋。而后Sun的高管自然出面表态,Swing和JavaFX两手都要硬。

由于本人一直从事企业信息系统的管理和研发,平日对Swing还是多有涉猎,看到这些传闻不免要探个究竟。其实最近忙于管理工作,技术上已多日不熟了。于是下载了NetBeans6.5 JavaFX版,顺便装了个JDK1.6 update11,这一试却是大获惊喜,同时对Sun的JavaFX策略深感怀疑。

惊喜在于经过多年的等待和失望,Swing居然真正快了起来,启动速度几乎提高了一倍以上。这对于Swing的爱好者们无异打了一针鸡血!老实说,Swing一直以来是设计精品、性能垃圾,从Applet时代开始,大家就一直是恨铁不成钢,期待了很多年了,直到期待到绝望。以至于本人怀疑Swing的性能也“只能如此了”。于是大家才会去折腾设计上莫名其妙的Swt,才会毅然决然地把Applet扔到一边,硬啃代码丑陋的Flex。经过多年的批判,很多初学者早已习惯把“Swing很烂”当做公理。其实经过多年发展和实践,Swing的架构设计是超优秀,跨平台也是目前最完善的,“慢”才是Swing的真正硬伤。可惜Sun一直对这个问题视而不见,才导致了这种明珠暗藏的局面。

也许Sun还是要靠买高端的服务器挣钱吧,所以从来对“慢”这个问题相当麻木。以至于众多从Java时代成长起来的程序员已经逐渐习惯了“慢”,甚至找出各种借口说“慢”已经不是问题。结果如何呢,EJB渐成笑柄,而Swing这种超经典GUI(除MS的各大系统级厂商由于要跨平台,故Swing是GUI首选)总是令人不满,根本性的问题其实还是“慢”,这甚至让爱好者都难于启齿。与之相对的是,MS恰恰是最重视“ 快、慢”问题的,君不见Windows的GUI就是快,MS的软件上手也是快,随之是滚滚而来的钞票。等Vista一“慢”,连MS都不好使了,大家不买帐了。所以对于用户而言,“使用快”永远是个硬道理。其实对于程序员而言,“开发快”也永远是个硬道理,只不过在这方面是相对的,面对不同规模和生命周期的系统,各种技术是难有定论的。几经折腾,笔者还是坚守中庸主义的Java。

这几年RIA之风日渐疯狂,人们早起习惯大谈Flex、 Ajax,甚至新出炉的SliverLight,全然忘记了Java起家时的Applet在十多年前早已是RIA的先行者。作为后起之秀的Flex强在哪里,其实最主要是“快”,运行快、安装快、开发快。或许迟钝的Sun终于感到了耻辱,才开始下决心解决这个“慢”的问题。NetBeans的GUI设计器算是解决了开发“慢”的问题,更重要的是JRE update10之后终于可以让爱好者享受一下不输于winform和swt的速度感了。以Swing经典的架构设计、完善的跨平台特性,优秀的可扩展性,笔者实在找不到不用Swing的理由了。以现在而论,针对Internet的JavaFX尚不完善(连NetBeans都不能可视化设计,且标记化的语言实在是够乱的),大家不必胡乱跟风。但企业应用则可以好好考虑一下JApplet或者Swing Application,与其死磕乱糟糟的JS和Flex(对于习惯了Java的程序员来说),不如享受一下All in Java的乐趣。
   发表时间:2008-12-17  
javaFX没感觉快~
0 请登录后投票
   发表时间:2008-12-17  
java的东西就快不起来。
0 请登录后投票
   发表时间:2008-12-17  
czx566 写道
javaFX没感觉快~


JavaFX的确是没快,Swing和JApplet倒是快了。所以才说是“借JavaFX之风”。
1 请登录后投票
   发表时间:2008-12-17  
Swing到底是快还是慢,关键是看掌握到什么程度,国外有很多Swing的应用,甚至在电力监控领域.
另外Applet的富客户端应用还是很有吸引力的...
0 请登录后投票
   发表时间:2008-12-17  
jvincent 写道
Swing到底是快还是慢,关键是看掌握到什么程度,国外有很多Swing的应用,甚至在电力监控领域.
另外Applet的富客户端应用还是很有吸引力的...


Swing的应用是相当广泛的,不信大家google一下。Oracle的GUI,IBM、HP的各种系统级软件、驱动管理软件等等。C的内核,Swing的界面,这种组合比比皆是。

随着Swing的提速,本人以为最大的意义在于企业应用可以回炒一下Applet,不一定非要死磕Flex和Ajax。
其实包括SAP、Oracle、用友在内的很多ERP也是用Applet。
0 请登录后投票
   发表时间:2008-12-17   最后修改:2008-12-17
本人多年来一直力挺Swing,死不悔改,至今仍想为Swing的普及做努力,我为Ecipse平台开发了一款类似于NetBeans界面设计工具的插件,虽然目前稳定和质量上不是太好,但是功能上已经相当好用了,可以用来替换VE了,这款工具在:
http://code.google.com/p/visualswing4eclipse/
我在JavaEye写了一篇文章介绍:
http://www.iteye.com/topic/208787
在EclipseZone也写了篇文章介绍:
http://eclipse.dzone.com/announcements/visual-swing-designer-eclipse
都获得不少好评。
另外现在的Swing绝对不是你想象丑、慢、功能弱,真是和开发者对于Swing的掌握程度有关,我写过一些博客介绍Swing技术,虽然已经很长时间不更新了,但是我觉得有助于消除大家对于Swing的偏见:
http://blog.sina.com.cn/swingjava
http://blogs.sun.com/swing
但是可惜的是,很少Java开发者关注使用Swing开发,尤其是国内,尽管现在的Swing的已经今非昔比了,这真是让人心寒。
希望大家回头看一下现在的Swing,尤其是Java 6 Update 10之后的Swing,配合NetBeans的界面设计工具,或者Eclispe上的界面设计工具(包括我的),看一看,给Swing和Applet技术再一次的机会,绝对会让你惊喜的。
9 请登录后投票
   发表时间:2008-12-17  
Swing确实是好东西~一直在弄
0 请登录后投票
   发表时间:2008-12-17  
不在于我用不用,在于我的公司用不用而已
0 请登录后投票
   发表时间:2008-12-18  
我也是支持Swing的, 什么不好搞, 又多一个javaFX, 语法也怪怪的。

唉, 可怜年龄大了, 适应不了新东西了。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics