锁定老帖子 主题:Swing为什么不受重视
该帖已经被评为良好帖
|
|
---|---|
作者 | 正文 |
发表时间:2009-04-30
hallenzzz 写道 zhuanggl 写道 看看永中office,完全用swing开发的,性能比用c开发的openoffice和wps好多了,swing慢不是借口,大型产品架构是关键,对语言熟悉程度也很重要
别用永中做例子,永中被swing折腾得够呛! 永中是被“捣死”的吧,和swing有什么关系?没有swing,永中的原始架构哪来的? |
|
返回顶楼 | |
发表时间: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做的。至少保证了所有系统界面的统一了。 |
|
返回顶楼 | |
发表时间: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的 |
|
返回顶楼 | |
发表时间: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的,领域不同,观点不同. |
|
返回顶楼 | |
发表时间:2009-05-01
SWT 是跨平台,是IBM的公关骗局。
1. 在非 windows 平台性能低下,至少在 linux 下是如此。 2. API 根本不能完全跨平台,所以swt跨平台的说法只是幌子,用来忽悠人的。 |
|
返回顶楼 | |
发表时间:2009-05-01
SWING和SWT孰优孰劣是仁者见仁,智者见智的
你可以认为SWING的架构如何优秀,但是事实它在运行效率和外观确实无法和SWT开发出来的程序相比,并且ECLIPSE RCP提供的开发平台使开发效率大大提高,虽然我没有深入接触NETBEAN(下载安装后运行几次和JB差不多,运行缓慢人性化不够界面自我感觉相当丑陋,直接卸载),但是从当前业界的应用上几乎看不到SWING的身影 我非常喜欢SPRING,SPRING最初有个SPRING RCP是用SWING开发的但是好像没过多久就夭折了,取尔代之的是现在基于OSGI的... 你也可以认为EJB的架构很优秀,但是一个纯理想化脱离实际的设计是不会有好结果的 |
|
返回顶楼 | |
发表时间:2009-05-02
SWING其实缺少成熟稳健的制作工具, 另外. SWING在LINUX确实要设置后才能跑的问题很多. SUN本身不重视有很多关系.
|
|
返回顶楼 | |
发表时间:2009-05-02
请教一下LZ
你第一附图page01标签里面哪个有标尺的组建是什么组件? |
|
返回顶楼 | |
发表时间:2009-05-02
sdh5724 写道 SWING其实缺少成熟稳健的制作工具, 另外. SWING在LINUX确实要设置后才能跑的问题很多. SUN本身不重视有很多关系.
eclipse 在linux 下的问题更多,经常崩溃,特别是安装一些插件之后,莫名其妙,速度也比netbeans 也慢很多。 |
|
返回顶楼 | |
发表时间: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 |
|
返回顶楼 | |