`

SWT已经日薄西山(转载)

阅读更多
转载自http://blog.sina.com.cn/swingjava

    SWT从实质上说是头疼医头,脚疼医脚,这种本质决定的它的架构不好,当需求增加时,当面临现实的Customization时,当面临各种不同操作系统时,它的缺点就暴露出来了,简单的说:

    对Java 界面涉及不深的人往往偏好SWT,对Java界面设计非常熟悉才能真正洞悉Swing的内涵。人们对于SWT的喜爱是同他对SWT的了解深刻度成反比的, Swing恰好相反。对于SWT了解越浅的人,越对他的光鲜外表(主要是Eclipse的表现比较好,但毕竟Eclipse的漂亮程度归公于他的界面设计艺术,实质并不在SWT的高级)。随着开发者对于SWT的深入了解,就会发现越来越多的问题和局限性,了解不深的人,或者从传统C/C++, WinForm以及MFC等东东转过了的人,往往被SWT的表面所迷惑。可以不客气的说SWT是AWT早已抛弃的努力。

    SWT凭着它对Windows平台的优化迷惑很多人,又以它的编程简单性忽悠了很多人。其实SWT它在Linux的效率和Mac OS上的错误简直要让人发疯。如果你真的想需要Windows平台的界面,干嘛要用Java? C#岂不是更好?

    SWT 一个迷惑人的地方是所谓平台保真(Fidelity),其实这也造成它不能轻易扩展和Customization的根源,而且,开发者往往喜欢平台保真的界面,而用户却不一定,相当的用户最终喜欢WinAMP等类似可以更换皮肤和LookAndFeel的功能。即使是平台保真度,Java6已经完完全全的实现平台一致性。SWT已经没有优势可言。

    SWT的另一个迷惑人的地方就是所谓速度,人们往往认为本地组件就比模拟组件要快,其实不然,由于 Java虚拟机和运行时速度的提高,Java编写的程序已经可以与C的速度相媲美,加上Swing内在有虚拟机内嵌代码和热编译的等功能支持,Java实现的Swing代码已经和操作系统本身的组件没有什么两样了。最近有JavaLobby上论坛贴出了一个名字叫MiGLayout,关于测试GUI界面的 BenchMark,测试的结果是:

    Windows平台上Swing的启动速度稍慢于SWT,运行速度几乎一样。
    Linux平台上Swing的速度高于SWT,无论是启动速度还是运行速度。GTK2上的速度差别就更大。
    MacOS上Swing的速度高于SWT,无论是启动速度还是运行速度。

    IBM当时开发Eclipse时,Swing的确不争气,所以才有了SWT的出现,但是如果当时Sun就把Swing打磨成现在这个样子,估计IBM也不会轻易开发SWT,但也多亏SWT的出现,促使Sun将Swing进行改革。

    最近一个国外叫EvansData的咨询公司调查的GUI工具结果是:
    swing占有率47%,名列第一,WinForm名列第二,SWT不超过8%

    结论是:
    SWT不会消亡,因为有Eclipse的存在,如果想为它开发插件,就必须使用SWT。另外和AWT相似,SWT可以应用到Mobile开发界面上,因为Swing毕竟太大了。
    Swing因为Java5和6的推动将席卷Java Desktop市场。

    毕竟任何的东西的存在都是合理,存在即合理,合理就不可能消逝。80/20的关系。

    对我的话持怀疑态度的人,尤其是Swing的速度可以去看看JavaLobby的这个帖子:
http://www.javalobby.org/java/forums/t78884.html
分享到:
评论

相关推荐

    关于日薄西山的造句参考.doc

    关于日薄西山的造句参考.doc

    UML正日薄西山的13个理由

    UML开发社区最近流失了一批开发者和拥趸,对一种软件设计技术来说,这意味着它正趋于下滑。而且它的发展趋于一个不利的方向:UML已经开始变得官僚化。本文作者罗列13个理由,以此来分析为何UML正日薄西山。

    基于javaweb的在线盲盒商城系统的设计与实现开题报告参考

    目前,传统的经销商代理、批发、分销仍是主要销售渠道,但随着终端的强势崛起已经开始日薄西山。直接运作市场进行深度分销、渠道下沉、终端拦截成为大部分厂商现实的选择,但高昂的运营成本和递减的边际效率也让不少...

    电容式触摸屏控制器的介绍

    电阻式触摸屏有过其鼎盛时期,但不可否认它们已日薄西山。很明显,它更加适合于低成本的设计。使用这些设计的用户必须戴手套,例如:在医疗、工业和军事环境下。然而,电容式触摸屏却获得了普遍的使用,今天市场上...

    Web 开发人员

    即使 Microsoft 也认为现在是 Internet Explorer 6 日薄西山的时候了,我们能从它 10 年的辉煌历程中学到什么呢? 2002 年,IE6 是事实上的目标浏览器;到了 2011 年,每个仍在安装 IE6 的用户都是 Web 开发人员的...

    时世与英雄——《鲁宾孙漂流记》与《文明前哨》

    作家在现实面前是"心灵感受器",他们对现实做出反应并加以表现。某种程度上,文学承担着记载历史的特殊使命。...他们的作品见证了英国从工业革命时期盛极一时的"日不落帝国"到一战结束后的"日薄西山"。

    .NETCore跨平台的奥秘[上篇]:历史的枷锁

    .NET平台看起来欣欣向荣,而实际上却日薄西山,就在这个时候微软走了一条唯一正确的道路,那就是基于跨平台理念重新设计的.NETCore,以及由此驱动地对整个.NET平台进行全新布局。.NETCore跨平台的奥秘[上篇]:历史的...

Global site tag (gtag.js) - Google Analytics