论坛首页 Java企业应用论坛

Swing为什么不受重视

浏览 146522 次
该帖已经被评为良好帖
作者 正文
   发表时间:2009-04-30  
hallenzzz 写道
zhuanggl 写道
看看永中office,完全用swing开发的,性能比用c开发的openoffice和wps好多了,swing慢不是借口,大型产品架构是关键,对语言熟悉程度也很重要


别用永中做例子,永中被swing折腾得够呛!


永中是被“捣死”的吧,和swing有什么关系?没有swing,永中的原始架构哪来的?
0 请登录后投票
   发表时间:2009-04-30  
shiren1118 写道
revivemydark 写道
其实swing最重要的就是两点:
1,applet ,
2,opengl ,
可惜sun这两方面都没做好,就算现在做好了也晚了



applet本身是没有问题的,问题出在jre的体积


其实现在已经不能算问题了,很多人连内存都不用释放,还在乎那点硬盘空间吗?


java2D ,3D都还可以,opengl 好像是有第三方实现

java3d做得挺失败的,需要额外的jre,而且对应不同的引擎还有不同的jre,d3d有d3d的引擎,opengl有opengl的jre。
而且从我05年接触这个东西到现在也快4年了,总感觉这个东西是个半成品。
倒是jogl让人眼前一亮,还支持opengl的shader。另外这个package也不算是第三方的,至少有jsr231的编号,应该是sun的开元项目。
另外得我觉得swing绝对不慢,比较不令人接受的是jre。另外ibm webshpere系列产品的installer也使用swing做的。至少保证了所有系统界面的统一了。
1 请登录后投票
   发表时间:2009-04-30  
whycloud 写道
shiren1118 写道
revivemydark 写道
其实swing最重要的就是两点:
1,applet ,
2,opengl ,
可惜sun这两方面都没做好,就算现在做好了也晚了



applet本身是没有问题的,问题出在jre的体积


其实现在已经不能算问题了,很多人连内存都不用释放,还在乎那点硬盘空间吗?


java2D ,3D都还可以,opengl 好像是有第三方实现

java3d做得挺失败的,需要额外的jre,而且对应不同的引擎还有不同的jre,d3d有d3d的引擎,opengl有opengl的jre。
而且从我05年接触这个东西到现在也快4年了,总感觉这个东西是个半成品。
倒是jogl让人眼前一亮,还支持opengl的shader。另外这个package也不算是第三方的,至少有jsr231的编号,应该是sun的开元项目。
另外得我觉得swing绝对不慢,比较不令人接受的是jre。另外ibm webshpere系列产品的installer也使用swing做的。至少保证了所有系统界面的统一了。

体积不是问题,以前win98就自动支持java只不过是M$的java虚拟机,后来sun害怕M$夺走java的控制权不给M$授权了,winxp就不支持java了,linux,mac os基本都自带jre的
0 请登录后投票
   发表时间:2009-04-30  
看完了所有回帖,为此发我的javaeye第一帖如下:
1.Swing 相对MFC,WTL来说是慢,但是如果说你写出了用户体验慢的Swing程序,那你就没有资格来评论Swing了.
2.说Swing难看的,请打开这个网页:https://substance.dev.java.net/,然后点see,看看Swing究竟难不难看,当然了,如果你肯在laf上下功夫,你还能让它更好看.
3.jdk里是缺一些控件,但是你的企业可以自己积累一套,成本是一次性的,你积累的多了,还能拿出来卖钱,就像前面兄弟发的广告一样.
4.Swing在企业应用里是首选,用web开发企业应用,我认为是盲动,成本远在Swing之上,而且很多功能难以实现.
5.Swing真正不适合的地方是互联网应用,用Applet和web start都要jre,在企业应用里jre不是问题,但互联网应用jre就是致命的问题了,sun从jdk6才开始着手这个问题,太晚了,而且直到它自己game over还没解决.我如果想自己精简一下jre,它还有协议限制,唉,这一块,还是用web和qt做的好
6.谈一下我对web做企业应用的看法,我前面说它是盲动,因为最开始web做企业开发流行的理由就是"部署升级方便","c/s500个客户端,你到客户那里一个一个升级,那种痛苦...",我认为大家看看eclipse的插件升级方式就知道这个理由多么可笑了,当然,eclipse的升级方式你还可以再提升,做一个通用的升级方式和积累一些Swing控件是一样的,都是一次性成本,一次付出,终生收益,你不愿写升级功能就去换web开发,不愿写控件就去用delphi开发,你有没有想过只需付出3个人3个月的成本,就能一劳永逸的解决问题?当然,这是说企业应用,jre不用care的时候,互联网应用,我还是赞成web的,领域不同,观点不同.
2 请登录后投票
   发表时间:2009-05-01  
SWT 是跨平台,是IBM的公关骗局。
1. 在非 windows 平台性能低下,至少在 linux 下是如此。
2. API 根本不能完全跨平台,所以swt跨平台的说法只是幌子,用来忽悠人的。
3 请登录后投票
   发表时间:2009-05-01  
SWING和SWT孰优孰劣是仁者见仁,智者见智的
你可以认为SWING的架构如何优秀,但是事实它在运行效率和外观确实无法和SWT开发出来的程序相比,并且ECLIPSE RCP提供的开发平台使开发效率大大提高,虽然我没有深入接触NETBEAN(下载安装后运行几次和JB差不多,运行缓慢人性化不够界面自我感觉相当丑陋,直接卸载),但是从当前业界的应用上几乎看不到SWING的身影
我非常喜欢SPRING,SPRING最初有个SPRING RCP是用SWING开发的但是好像没过多久就夭折了,取尔代之的是现在基于OSGI的...
你也可以认为EJB的架构很优秀,但是一个纯理想化脱离实际的设计是不会有好结果的
0 请登录后投票
   发表时间:2009-05-02  
SWING其实缺少成熟稳健的制作工具, 另外. SWING在LINUX确实要设置后才能跑的问题很多. SUN本身不重视有很多关系.
0 请登录后投票
   发表时间:2009-05-02  
请教一下LZ
你第一附图page01标签里面哪个有标尺的组建是什么组件?
0 请登录后投票
   发表时间:2009-05-02  
sdh5724 写道
SWING其实缺少成熟稳健的制作工具, 另外. SWING在LINUX确实要设置后才能跑的问题很多. SUN本身不重视有很多关系.

eclipse 在linux 下的问题更多,经常崩溃,特别是安装一些插件之后,莫名其妙,速度也比netbeans 也慢很多。
0 请登录后投票
   发表时间:2009-05-02   最后修改:2009-05-02
勇敢的心 写道
SWING和SWT孰优孰劣是仁者见仁,智者见智的
你可以认为SWING的架构如何优秀,但是事实它在运行效率和外观确实无法和SWT开发出来的程序相比,并且ECLIPSE RCP提供的开发平台使开发效率大大提高,虽然我没有深入接触NETBEAN(下载安装后运行几次和JB差不多,运行缓慢人性化不够界面自我感觉相当丑陋,直接卸载),但是从当前业界的应用上几乎看不到SWING的身影
我非常喜欢SPRING,SPRING最初有个SPRING RCP是用SWING开发的但是好像没过多久就夭折了,取尔代之的是现在基于OSGI的...
你也可以认为EJB的架构很优秀,但是一个纯理想化脱离实际的设计是不会有好结果的

spring rcp 与 osgi 风牛马不相及,这都扯到一起作为不喜欢swing理由,看来你所谓的喜欢 Spring 也只是叶公好龙而已。还需要说明的是, spring rcp 不是 spring 官方的项目。

说eclipse rcp 什么开发效率高,不如说在基于swt的平台非常缺乏,除了它,使用swt别无选择。
而swing平台是百花齐放,你可以自由的选择,基于现有的组件,平台,还是自己开发,完全由你自己决定。

至于运行效率和外观,没有用过非 windows 系统,你没有发言权(在windows 系统上,它的确表现不错,因为 swt 就是一个针对 windows 优化的产物)。
要知道Java的最大特性是write once,run anywhere,这样在 linux 写的程序java 程序打包应该可以在windows 下运行,swing程序完全可以做到。swt 则不然,根本就做不到,它绕开jvm,试图直接与操作系统操作,带的恶果是明显的,各平台的性能差异很大,各个平台的api不一致,产生了针对系统的api,这些api不能跨平台使用,这些完全违背了 java 的初忠。



我所使用的一般应用程序(基于swing的)。
永中office(至今还没有一个能够与其相提并论的swt程序)
ThinkOffice(最早的Office协同方案)
aTunes(类似iTunes 的播放器)
GantProejct
openproj
aMule


下面我用于开发的工具。
ads-java-novm-4.7.2                             
netbeans-6.5
architect-0.9.12                                
netbeans-6.7beta
argouml-0.28                                    
opensystemarchitect-4.0
bluej                                           
oxygen
DbVisualizer-6.5.1                              
poseidonPE-6.0.2
eclipse                                         
rubymine749
editix-free-2009                                
smartcvs-7_0_5
foeditor                                        
smartsvn-4.0.11
freemind-0.9-rc3                                
sqldeveloper
fujaba-toolsuite                                
squirrel-sql-3.0
squirrel-sql-client
idea-7941                                       
thinkui_datagen-1.0.1
idea-9732                                       
thinkui_sqlclient-1.1.1
jailer_2.7.1                                    
topcoder-uml
una
jedit                                      
jude_community                                  
xxe-perso-4_2_0
komodo-5.0


其中,opensystemarchitect,komodo 不是java 程序,eclipse是swt界面的,其它全部是swing界面的。

其实,当前真正基于 swt 构建程序不多,大部分 swt 程序都是基于 eclipse 平台构建,一个最大特点,体积特别大。


我所用基于swt 的一般应用程序(现在已经不用了太大太慢了)
Azureus Xmind





0 请登录后投票
论坛首页 Java企业应用版

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