在Java应用程序中,使用哪个库更快:SWT还是Swing?
http://www.jetbrains.com/idea/
当然,Sun的Netbeans也是一个纯Swing应用程序,并且它是免费的。
没有慢的Swing应用程序,只有编写不良的应用程序。这也适用于SWT。大多数应用程序由于Eclipse核心架构而产生更好的响应。在J6之前,在无响应期间出现灰色窗口的问题有几个,但是使用完全双缓冲方法在Swing PLAFs中解决了这个问题。没有更好的UI框架,只有更好的编写程序,适当地使用多线程来避免UI的不响应。个人更喜欢Swing :)
在我看来,关于小部件工具包的技术决策非常微妙。当涉及到应用程序框架时,你需要交付的工作量相当大,而且更加决定性。我认为,唯一支持SWT的论点是其本地L&F。另一方面,现在大多数UI都趋向于非本地L&F。你可以清楚地看到这一点,Eclipse RCP应用程序使用表单框架的趋势,该框架绘制自定义渐变和部分,并且在任何方式上都不是本地界面(同样适用于e4,即Eclipse v4详细项目)。
总之,如果RCP是你的项目选项,我会使用Eclipse RCP(即SWT)。这个平台的完整性、活力和速度是无与伦比的。如果RCP不是一个选项,Spring RCP对我来说看起来相当有说服力(基于Swing)。
多年来,使用Swing编写的应用程序比使用SWT编写的应用程序更多。但是,在Windows平台上,SWT的用户友好性优于Swing。但是,也有例外情况(http://www.amazon.com/Rich-Client-Programming-Plugging-NetBeans/dp/0132354802)。
有一个更大的RCP应用程序社区使用SWT进行开发。虽然使用Netbeans的RCP应用程序不如其他平台流行,但数量也相当可观。
随着Java 6 UPDATE 10即将推出,Swing应用程序的性能应该会很好。也就是说,这种性能提升可能同样适用于SWT应用程序。
此致敬礼,
~A