首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java中GUI开发的未来?

Java中GUI开发的未来?
EN

Stack Overflow用户
提问于 2010-07-17 08:26:09
回答 2查看 11.3K关注 0票数 13

考虑到

  • Sun/Oracle决定在“发明”JavaFX之后不再开发Swing
  • JavaFX真的不起作用,而有些人已经认为这是失败了。
  • SWT并不是真正独立于平台的特性,配置GUI元素的手动任务以及绑定平台特定库的必要性。

还有别的出路吗?

如果我想在JVM上进行GUI开发

  • 使用一个好的API (Swing和SWT并不坏,但它们也不是很好)。
  • 它的“感觉”响应(今天Swing和SWT仍然是一个问题,尽管有人声称这个问题已经解决了)。
  • 几年后不会过时的,我该做什么决定呢?

是否有第三种选择,或者将来可能有一种选择?

一种选择

  • 这是快速和响应(不是Swing的思想“如果它不快,这是开发人员的错”)
  • 有本土化的外观和感觉
  • 有一个运行在所有平台上的库

这是现实吗?

谢谢!

=========

为了澄清:如果我必须在JVM上启动一个新的软件项目,有几种现有的选项,比如使用SWT或Swing,使用Swing与第三方库(如SwingX、JIDE、JGoodies、Flamingo ),或者使用像Netbeans平台或Eclipse这样的应用框架。是否有一种支持/建议的方法可以减轻通常与Java开发相关的痛苦?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-07-17 14:53:32

你不会找到这个问题的客观答案,只有个人偏好和选择。

SWT

我个人的偏好是SWT。我开始使用它,当Swing是一个坏的选择。SWT“只是”本地窗口API之上的一个层,因此用SWT编写的应用程序感觉就像本机编写的应用程序。这些也会被搞砸。任何API都不会对坏的开发人员安全。从我的经验来看,演出的速度是最快的。如果不是这样,就有另一种方式来实现它,在那里它将在那里实现。

SWT的API非常低,这使得实现基本内容出乎意料地繁琐,但幸运的是,大多数典型的使用都可以通过JFace来解决,这就改善了这种情况。当您使用API一段时间后,您将积累您自己的util类。在实现SWT工具方面,您可以变得非常快。

因为SWT只提供基本知识,所以您需要MigLayout星云小部件来生存。你可能喜欢釉表

贾姆比

实际上,除了SWT和Swing之外,我还想为您添加另一个选项:贾姆比。但诺基亚放弃了这一点,现在它“由一个开源社区维护”。所以我不知道“几年内不会过时”。

尽管如此,我还是对这个正在进行的讨论感到兴奋。有些人使用Qt作为“原生”API编写了一个SWT实现。他们正在努力弄清楚如何做出贡献。将Qt作为一种选择可能会使SWT有一天能够使用“运行在所有平台上的单个库”,尽管我不会在短期内依赖它。

但对我来说,你对“单一图书馆”的要求并不是什么大问题。在构建时使用maven,添加几行配置,很快就会忘记这一点。

秋千

我不能把SWT和Swing进行比较,因为我对Swing的经验是有限的。作为一个用户,我不喜欢大多数Swing应用程序,但我确实看到了一些美好的应用程序。

如今,Swing应用程序的原生外观和感觉相当不错,但你不会愚弄一个超级用户。此外,性能似乎真的很好,在新的和良好的Swing应用程序,但同样,这只是从我的限制作为一个用户的观点。

显然,Swing有更多的第三方扩展,而不是SWT --只需进行Google搜索即可。(但是,如果您忍受学习Eclipse的痛苦,那么您也会得到一个庞大而有趣的基础设施。不过,这不是在谈论小部件,而是像电势RAP这样的东西。我不是Eclipse人-我从来没有足够的耐心.)

Swing的一个很大的优势,如果你喜欢的话,是Matisse,Netbeans的GUI建设者。顺便说一句,Qt还有一个出色的GUI构建器。

摘要

如果您长期计划,我看不出比SWT或Swing更多的选择用于Java的GUI开发。如果你花足够的时间,两者都足以满足大部分的需求。但它们并不完美。你总是羡慕使用其他语言的人,因为他们的小部件,实现速度,工具,.如果您不绑定到Java,您甚至可能更喜欢Flash或Qt。

票数 7
EN

Stack Overflow用户

发布于 2010-07-17 10:08:01

我认为,答案是更喜欢swing

  • 自从1.4以来,awt有了很大的进展(幸运的是,sun这样做是因为java fx需要awt )。
  • 自从1.5在线程管理方面取得了很大的进步(SwingWorker和并发事务)
  • swing非常优秀,响应性很强(开发人员故障的问题是什么?),本地的l&f,等等。
  • 有优秀的图书馆,如swingx,三叉戟等,和平台,如netbeans。

当然,这是一个成熟的技术(有点老),但我不知道其他。它将是GUI开发的cobol:)

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3270771

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档