13

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

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

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

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

  • 蚀。不过,我不太热衷于使用 SWT,因为我更熟悉 Swing。NetBeans 也是我的主要 IDE,我最熟悉它。它也总是感觉更直观。
  • 网豆。这将允许在 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 更好”的辩论。我正在寻找在这种情况下使用/反对使用它们的有效点。

4

3 回答 3

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 年

于 2012-01-12T16:34:42.957 回答
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 运行时。

希望这可以帮助。

于 2011-11-15T22:49:19.327 回答
0

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

于 2014-06-05T16:29:52.397 回答