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

转自 : http://www.javaeye.com/topic/296046
前几天看了点新闻,一是说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的乐趣。

posted on 2008-12-18 10:47  dhj  阅读(321)  评论(0编辑  收藏  举报

导航