富客户机平台与JavaFX2与Swing

富客户机平台与JavaFX2与Swing,java,swing,user-interface,rcp,javafx-2,Java,Swing,User Interface,Rcp,Javafx 2,很快,我们就需要开发一个GUI来为工作中的EAI解决方案创建配置(老实说,更像是脚本)。想象一个典型的工作流编辑器。实际流的可视化很可能是一个完全定制的作业,无论是在Swing、SWT还是JavaFX2中。我在选择时遇到的问题是,是自己做其他事情,还是使用富客户机平台 特别是,我注意到JavaFX2受到了很多关注,Oracle似乎真的在推动JavaFX2成为JavaGUI领域的下一件大事。演示看起来很有趣,也许这个新的API更关注生产率,而不是Swing强加的大量样板代码。使用获得大量支持的更新

很快,我们就需要开发一个GUI来为工作中的EAI解决方案创建配置(老实说,更像是脚本)。想象一个典型的工作流编辑器。实际流的可视化很可能是一个完全定制的作业,无论是在Swing、SWT还是JavaFX2中。我在选择时遇到的问题是,是自己做其他事情,还是使用富客户机平台

特别是,我注意到JavaFX2受到了很多关注,Oracle似乎真的在推动JavaFX2成为JavaGUI领域的下一件大事。演示看起来很有趣,也许这个新的API更关注生产率,而不是Swing强加的大量样板代码。使用获得大量支持的更新技术似乎是未来维护的安全赌注

使用RCP将对该项目有一定的好处。无论我们选择Eclipse还是NetBeans作为平台,拥有用于查看底层(XML)配置、版本控制等的现有插件/模块都将以最少的工作量提供强大的功能。我还喜欢在同一个GUI中,将软件的项目类型放在Java项目旁边的想法。即使是像窗口管理和定制面板这样的简单事情,RCP也能更好地处理,这是我们所能做的

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

  • 日蚀。不过,我并不急于使用SWT,因为我更熟悉Swing。NetBeans也是我的主要IDE,我对它最熟悉。它总是感觉更直观
  • NetBeans。这将允许在Swing中开发自定义组件。我的学习曲线较低
  • NetBeans+javafx2。这个想法对我很有吸引力。。。使用NetBeans实现RCP,使用javafx2实现自定义组件。javafx2显然与Swing集成,但在NetBeans中能做得多好呢
  • Swing或JavaFX2。自己完成所有GUI工作,或者使用一些现有框架来获得RCP提供的大部分功能。这似乎是一个很大的工作,但也提供了极好的控制。我有点不愿意在秋千上试试这个。JavaFX2在多大程度上适合这种情况
基本上,我唯一的GUI体验就是在小型应用程序上运行。这是我第一次去做一些可以保证RCP的事情。但是JavaFX2似乎是前进的方向,我不想错过这条船。如果Swing即将推出,我更喜欢跳上新技术

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

我意识到这是一个有点悬而未决的问题,但我真的想不出一个更合适的地方。我不是在寻找“什么是最好的RCP/JavaFX比Swing更好”的辩论。我正在寻找支持/反对在这种情况下使用它们的有效观点。

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

Eclipse与Netbeans之比较

就我个人而言,我不喜欢关于IDE利弊的大讨论。就用你觉得最舒服的那一个吧。如果你在一个团队中工作,进行投票。考虑到Swing,这两个IDE都很好(IMHO Netbeans有更好的GUI构建器)。考虑到JavaFX2.0,这两个IDE都很好,但都缺少GUI构建器。我不建议混合使用IDE

JavaFX2.0 vs.Swing vs.SWT vs.Eclipse RCP

嗯,我不想-我甚至不想-告诉你上面列出的UI技术中哪一种是最好的,因为我对你的项目环境——经验、人力资源、预算、时间线等——了解得不够。有一个精简的时间线和一个经验丰富的Swing开发团队(?)应该领导Swing决策。SWT和Eclipse RCP也是如此。尖端开发人员可能倾向于尝试JavaFX。我同意,JavaFX得到了很多关注,您也得到了非常好看的演示,但请记住,使用JavaFX需要在每个客户机上运行JavaFX(除了JRE之外)


希望这能有所帮助。

我的几行意见

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

Swing没有提供处理多组件应用程序的结构化体系结构,EclipseRCP提供了,但它更重,有时太复杂(WindowWorkbench等),而且很难定制

如果您的团队中有一个优秀的UI设计师(开发人员或图形设计师),那么您应该开始使用一个简单但功能强大的框架(如JRebirth或您可以自己构建的自定义框架)开发一个完整的应用程序JavaFX2

JavaFX将在未来几年成为javaui标准,它不可能是一个坏的选择,因此它的架构非常好和强大 此外,javaFX2还可以在JNLP的帮助下用于浏览器和/或在线部署。 不要麻烦你去学习复杂的无文档框架(比如EclipseRCP),创建你自己的吧!!并且可以自由地使您的客户需要的应用程序:D


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

由于FXML的使用,我们切换到了JavafX,您可以使用MVC模式,您可以添加javascript和css init,但在更改页面时似乎很慢

当然有效点。我不确定Eclipse和NetBeans作为平台的优点是什么(暂时忽略IDE),只是我觉得NetBeans“感觉”更自然。至于GUI构建者,我并不十分喜欢这些,我倾向于采用手工制作的方法。NetBeans将是第一个对JavaFX开发提供良好支持(并可能在幕后使用)的工具,但运行时需求确实值得思考。也许我会