哪个库更适合更快的java应用程序swt或swing?

时间:2008-10-12 20:33:02

标签: java swing swt

哪个库更适合更快的java应用程序swt或swing?

7 个答案:

答案 0 :(得分:14)

几年前,Swing很慢,因此开发了SWT以在系统上进行本机API调用。但是,Swing性能已大大提高,现在已不再如此。 SWT是非标准的,而Swing是Java规范的正式部分。 JavaFX也将构建在Swing之上。除非你的工作需要编写Eclipse插件,否则我会使用Swing。

要查看在Swing中开发的非常好的应用程序,请查看Jetbrain的Java IDE。你可以试试30天。

http://www.jetbrains.com/idea/

当然,Sun的Netbeans也是纯粹的Swing应用程序,而且它是免费的。

http://www.netbeans.org/

答案 1 :(得分:9)

没有缓慢的应用程序。写得不好这也适用于SWT。由于eclipse核心架构,大多数应用程序都能做出更好的响应。在J6之前,在无响应时段期间灰色窗口存在若干问题,但这在使用完全双缓冲方法的摆动PLAF中得到了相当大的解决。没有更好的UI框架。只有更好的书面程序才能适当地使用多线程来避免UI的无响应。我个人更喜欢Swing:)

答案 2 :(得分:7)

今天,两个框架都很快。我建议检查这些标准:

  1. SWT比Swing更易于使用(特别是如果这是您的第一个UI)
  2. Swing较旧,您可以找到更多组件
  3. 如果你也使用JFace,你会发现许多功能强大的小部件都是开箱即用的(你需要在Swing中进行大量额外的配置)。
  4. Swing可在任何地方使用,SWT不是
  5. SWT是积极开发的,您可以快速修复源代码和错误。 Swing多年来一直没有被触及,然后突然出现了Java 6的重大更新。如果你有Swing的问题,那么,Sun可能并不关心。
  6. 如果选择Swing,请使用SwingX之类的框架。这将使您的生活更加简单。

答案 3 :(得分:4)

根据维基百科,没有明显的赢家(尽管如果你愿意,你可以编辑)。不可避免地,您可以编写基准测试,这些基准测试的速度要快得多。 Swing可以更自由地在Java方面进行优化。 SWT可以允许在窗口系统中进行更多优化。

对性能的更大影响可能来自您的应用程序的行为方式。专注于让你的代码干净(并在必要时进行一些分析)。

答案 4 :(得分:1)

“更快”是主观的。两者都可以跑得快,但是做一些愚蠢的事情更容易用Swing射击自己的脚并使其感觉感觉慢。

尽管如此,我发现Swing在代码级别比SWT更容易使用。

答案 5 :(得分:0)

对于widget工具包的技术决策在我眼中是相当薄的。在应用程序框架方面,您必须提供的工作量相当大,而且更具决定性。我认为支持SWT的唯一论据是它的原生L& F.另一方面,现在大多数UI倾向于非本地L& F.您可以清楚地看到Eclipse RCP应用程序使用表单框架绘制自定义渐变和部分的趋势,并且不以任何方式显示本机接口(同样适用于e4,eclipse v4精化项目)。 总而言之,如果RCP是项目中的一个选项,我将使用Eclipse RCP(即SWT)。这个平台的完整性,活泼性和节奏是无与伦比的。如果RCP不是一个选项,Spring RCP看起来很有说服力(基于Swing)。

答案 6 :(得分:-2)

多年来,有更多的应用程序使用swing而不是SWT编写。但与Swing相比,SWT在Windows上的用户友好性更高。但是,也有例外(http://www.amazon.com/Rich-Client-Programming-Plugging-NetBeans/dp/0132354802)。

使用SWT开发了更大的RCP应用社区。虽然使用Netbeans的RCP应用程序不是那么大,但这是相当可观的。

随着Java 6 UPDATE 10即将推出,Swing应用程序的性能应该非常好。也就是说,性能改进也可能适用于SWT应用程序。

BR,
〜A