用于桌面应用程序的Java Swing或Windows Forms?

Noa*_*man 10 c# java user-interface swing winforms

我正在编写一个胖客户端应用程序,我希望它是跨平台的,但可能基于以下内容仅适用于Windows:

  • 我在C#中比Java强多了(虽然我有几年的企业Java经验)
  • 对于Windows Forms或Java Swing,我没有做太多,只为每个玩具应用程序,虽然我在Windows窗体比Swing更舒服
  • 我担心Swing应用程序的性能(与Windows Forms相比),但我想知道在过去的几年中事情是否有所改善
  • 我完全乐于在任何一个平台上进行开发......这里没有MS或Java势利.事实上,如果你想告诉我在Qt,wxWidgets或其他什么地方做,我会听!

如果你们中的任何人从Windows Forms切换到Swing,那么最大的障碍是什么?

最终跨平台的最初吸引力是否值得,或者更快,更不灵活的仅限Windows的应用程序是否更好?

如果您使用Java Swing,您更喜欢哪种IDE进行拖放式表单布局?

Osc*_*Ryz 13

看起来你想听到的是:"不要使用挥杆保持Winforms"所以这里它:不要使用挥杆.如果你对C#感觉更舒服,我认为这是你需要去的唯一原因.

Swing应用程序很快,整个平台足够好,但它肯定需要一些时间来学习它.

如果您决定尝试一下,我会建议使用Netbeas或IntellJ Idea,两者都有很棒的GUI构建器.

但实际上,只需继续使用C#


Tho*_*sen 6

下载Netbeans并尝试在其中创建一个简单的Swing应用程序.GUI编辑器非常好用且功能强大,可以轻松避免手工设计.然后,您可以使用Netbeans告诉您的代码片段添加功能.

我做了简单的"在Excel表中读取JTable并在一天内从头开始将JTable上传到数据库"GUI应用程序.我计划在Netbeans中执行GUI,然后将其导入Eclipse并在那里进行繁琐的工作,但只是留在Netbeans中要容易得多.

尝试一下,你可能会喜欢它.

编辑:关于Swing的速度:有很多改进,基本上它可以非常快速和活泼.通常的问题是程序员为Swing创建响应代码来调用它来做事情,如果遇到这个问题,你需要弄清楚一些技术问题(基本上在后台线程上做很多事情).


Hav*_*ess 5

我使用 Netbeans RCP 平台在银行中开发了一个复杂的低延迟 GUI。有很多人在使用 Netbeans。我也与 WinForm 开发人员一起工作。

WinForm 开发人员拥有一些极其丰富且高性能/低占用空间的网格和小部件,尤其是诸如 Infragistics 之类的商业产品。Netbeans 应用程序可能占用大量资源,因此您的客户确实需要将其大部分计算资源用于它。

如果它需要精简且界面丰富或快速,那么 Winforms 是最佳选择。

如果你想要一个庞大的 API 库来构建和维护一个大型复杂的 GUI 代码库,并拥有完全可移植的技术堆栈的自由,我每次都会选择 Java。

话虽如此,Netbeans IDE 令人震惊!如果您愿意,最好访问Geertjan 的博客。

使用 Matisse 图形编辑器时,定期将您的代码签入分支,它经常会发疯并破坏您的布局并且无法撤消。底层的 RCP 平台依赖处理 - 如果它让你陷入困境 - 可能具有挑战性,但仍然比 OSGi 好!

祝你好运,GUI 开发并不像人们说的那么容易!