富客户端平台与JavaFX 2与Swing相比

G_H*_*G_H 13 java user-interface rcp swing javafx-2

很快,我们需要开发一个GUI来为我们的EAI解决方案创建配置(更像是脚本,说实话).想想典型的工作流编辑器.实际流程的可视化很可能是一个完全自定义的工作,无论是在Swing,SWT还是JavaFX 2.我选择的麻烦在于是自己做其他事情还是使用富客户端平台.

特别是,我注意到JavaFX 2受到了很多关注,并且似乎被Oracle推动为Java GUI领域的下一个重点.这些演示看起来很有趣,也许这个更新的API更专注于生产力,而不是Swing倾向于强加的大量样板代码.使用获得大量支持的新技术似乎是未来维护的安全选择.

使用RCP对这个项目有一定的好处.无论我们是以Eclipse还是NetBeans作为平台,拥有用于查看底层(XML)配置,版本控制等的现有插件/模块都能以最少的工作提供强大的功能.我也喜欢在同一个GUI中将Java项目旁边的软件项目类型包含在内的想法.即使是简单的东西,如窗口管理和自定义排列面板,RCP也可以更好地处理我们可以提供的东西.

那么现在的问题是,哪种技术或其组合是可行的?据我所知,我的选择是:

  • 日食.不过,我不太喜欢使用SWT,因为我对Swing更熟悉.NetBeans也是我的主要IDE,我对它最熟悉.它总是感觉更直观.
  • NetBeans的.这将允许在Swing中开发自定义组件.对我来说学习曲线较低.
  • NetBeans + JavaFX 2.这个想法吸引我......使用NetBeans实现RCP优点并将JavaFX 2用于自定义组件.JavaFX 2显然与Swing集成,但在NetBeans中如何做到这一点呢?
  • Swing或JavaFX 2.让所有GUI自己工作或使用一些现有的框架来获得RCP提供的大部分内容.这似乎很多工作,但也提供了极好的控制.我有点厌恶在Swing中尝试这个.JavaFX 2在这方面的表现如何?

基本上我唯一的GUI体验是Swing上的小应用程序.这是我第一次寻找能保证RCP的东西.但JavaFX 2似乎是前进的方向,我不想错过那条船.如果Swing可能会出局,我宁愿跳上新技术.

如果有人可以分享他们的经验,尝试过像NetBeans + JavaFX 2这样的东西,或者更接近JavaFX的最前沿,并且可以推荐/阻止它用于我最感兴趣的这类事情.

我意识到这是一个有点开放的问题,但我真的不能想到一个更合适的地方.我不是在寻找"什么是最好的RCP/JavaFX比Swing更好"的辩论.我正在寻找在这种情况下使用/反对它们的有效点.

Séb*_* B. 11

我的意见很少,

JavaFX2可以集成到Swing和SWT应用程序中的面板/容器中.

Swing没有提供结构化的架构来处理多组件应用程序,Eclipse RCP确实如此,但它更重,有时太复杂(WindowWorkbench等等)并且难以定制.

如果您的团队中有一个优秀的UI设计器(开发人员或平面设计师),您应该开始使用一个简单但功能强大的框架(如JRebirth或您可以按照自己的方式构建的自定义框架)完成JavaFX2应用程序.

JavaFX将成为未来几年的Java UI标准,它可能不是一个糟糕的选择,因此它的架构非常好而且功能强大.此外,javaFX2可以在JNLP的帮助下用于浏览器和/或在线部署.不要打扰你学习复杂的无证框架(如EclipseRCP),创建你的!并可以自由地提供客户需要的应用程序:D

我在Swing Appz工作了3年,在Eclipse RCP工作了2年,在Flex/Silverlight/JavafX应用程序工作了2年


pmo*_*ule 7

这里有一些要点和(个人)意见,帮助您确定适合当前情况的解决方案:

Eclipse与Netbeans

就个人而言,我不喜欢关于IDE的优缺点的大讨论.只需使用您感觉最舒适的那个.如果您在团队中工作,请进行投票.考虑Swing两个IDE都很好(恕我直言Netbeans有更好的GUI构建器).考虑到JavaFX 2.0,两个IDE都很好,但两者都缺少GUI构建器.我不建议混合使用IDE.

JavaFX 2.0 vs. Swing vs. SWT vs. Eclipse RCP

嗯,我不 - 我甚至不能 - 想告诉你上面列出的哪种UI技术是最好的,因为我对你的项目的环境知之甚少 - 经验,人力资源,预算,时间表等.精益时间表和经验丰富的Swing开发团队(?)应该将决定引向Swing.SWT和Eclipse RCP也是如此.最前沿的开发人员可能倾向于尝试JavaFX.我同意,JavaFX得到了很多关注,你得到了很好看的演示,但请记住,使用JavaFX需要 - 除了JRE - 每个客户端上的JavaFX运行时.

希望这可以帮助.

  • 当然有效点.我不确定Eclipse与NetBeans作为平台的优点是什么(暂时忽略IDE),只是NetBeans对我来说"感觉"更自然.至于GUI构建者,我不是那些人的忠实粉丝,而是倾向于采用手工制作的方法.NetBeans将是第一个对JavaFX开发提供良好支持的(并且可能在引擎盖下使用它),但运行时要求确实值得深思.也许我最好看看他们是如何快速地获得OS X和Linux支持并运行的.谢谢! (2认同)