我正在致力于设计和构建桌面应用程序。我正在考虑使用 eclipse 或 netbeans 作为此应用程序的基础。但是,我从未在这两个平台上进行过构建。我个人倾向于使用 netbeans,因为看起来该平台的学习曲线更容易。但是,我想问一下那些真正在这些平台上构建过的人,之前哪个平台更容易使用?

我个人对easyer的定义如下:

  • 易于上手

  • 一致且符合逻辑的 API

  • 良好的文档

  • 易于构建和部署

非常感谢,

乔什

有帮助吗?

解决方案

关于 Eclipse RCP 平台,我无法说得太多。我会推荐它用于任何 Java 桌面应用程序开发。

它是免费的,有很棒的教程,并且允许使用本机操作系统窗口工具包跨平台开发丰富的桌面应用程序,这意味着您的应用程序在任何平台上都将看起来是本机的。它还具有干净的 API,不会妨碍您,并使部署到任何平台变得轻而易举。

如果你有兴趣可以看看这本书: http://www.amazon.com/Eclipse-Rich-Client-Platform-Applications/dp/0321334612

其他提示

  • 便于使用:我有在 Eclipse 上进行开发的经验,不得不说理解它的开发模型并不容易。当然,对于基本的东西,它有一些向导可以使操作变得更容易,但对于稍微复杂一点的东西,它就很困难。我不知道 Netbeans,但我听说它更容易。
  • 一致的API:我认为Eclipse在这方面胜出。它在 OSGI 上运行(尽管带来了一些复杂性)并且具有几乎所有内容的插件扩展。它似乎是插件开发的首选平台,所以我可以假设它是可靠的。
  • 文档:到目前为止,Eclipse 获胜。Eclipse 站点的帮助非常好,邮件列表中有很多用户问题。

我使用 Eclipse 作为框架基础,但它主要只是使用 SWT——我们并没有真正使用太多的 RCP。

这实际上取决于您正在编写的内容,但根据我从使用 Eclipse 中学到的知识,它实际上只适合编写需要使用各种视图编辑数据的应用程序(就像编辑代码一样)。

任何更加随机的事情都可能导致您开始将框架推向未设计的方向并导致大规模失败。

您将使用 Swing 来开发应用程序,因为只有当您具备先前的知识或适当的背景时,任何其他窗口框架才有用。

您可以信赖 http://www.javadocking.com/ 简化您的申请。

如果您的应用程序需求高度集中在用户界面上,也许您可​​以考虑另一个方向,例如 Adob​​e Air。

RCP 有一个更大的学习曲线,但是一旦您学习了基础知识,Eclipse IDE 本身就可以很好地支持构建 RCP 应用程序。我只为 NetBeans 构建了一个插件(没有构建成熟的应用程序),并且学习曲线比 RCP 应用程序要短。这本书 Eclipse 富客户端平台:设计、编码和打包 Java(TM) 应用程序 详细介绍了构建 RCP 应用程序。

请参阅一些开源应用程序: http://www.eclipse.org/community/rcp.php 在认为 RCP 仅用于构建文本编辑器之前。谢谢。

我有类似的任务,我也在考虑不同的框架。我对 Eclipse(开发 RCP 大约 4 个月)和现在的 Netbeans(玩了几天)有一些经验。恕我直言,这些框架太复杂了。您最终只需调试特定于 Eclipse 的插件加载器,试图找出为什么会出现 ClassNotFoundException 或 NullPointer。NetBeans 也有同样的故事:不知何故,只要你按照教程进行操作,就会在某个地方读取 xml 配置文件并从中创建 UI,这很酷。当然,你不能使用其他 IDE 来开发基于 Eclipse 的 RCP,NB 也非常嫉妒它的使用(除非你像我一样做了一些 hack)。我缺少的是一种清晰的方法来调试从主线程到执行操作的线程。相反,我总是被告知我必须做什么才能避免异常。因此,每次我尝试推出新东西时,我都必须祈祷。而且第一次从来都不会成功。现在我考虑了我需要的功能,并寻找了针对特定功能(例如插件管理)的较小项目。而且有很多。只需编译您需要的功能列表,然后通过将它们集成到您的项目中来开始添加较小的框架。这也是有道理的,因为您的项目最终应该消耗更少的 RAM。

我对两者都做了一些工作,但仅限于相对简单的应用程序。两者似乎具有大致相同的能力。我个人更喜欢 Netbeans 平台,因为它对我来说更有意义。

您还应该考虑 JSR-296,即 Swing 应用程序框架。它提供了构建 Swing 应用程序、管理应用程序资源、状态等的基本框架,但没有 Netbeans 和 Eclipse 那么多的“包袱”。Netbeans IDE 有许多用于在 SAF 上构建应用程序的工具。看 https://appframework.dev.java.net/ 了解更多信息。

如果不了解更多关于您的应用程序的信息,就很难向您指出这两个平台的适当优点/缺点。

如果您确实想避免跨平台维护,那么可以使用 Swing。这将为您购买所有平台。RCP 需要每个平台的本机库。

我们在 Swing 方面有过很好的经验。

当您确实需要一个在其上构建的平台,而不仅仅是像 swing 或 swt 这样的“小部件”时,我会使用 eclipse RCP。RCP 坚如磐石、一致、模块化且非常灵活。一旦你掌握了它,你将获得巨大的好处。作为一个平台,它为您提供最常用的东西 - 偏好、配置、自动更新、布局管理、品牌等等。您构建的是产品,而不是应用程序。但一开始的学习曲线相当陡峭。

另一方面,Swing 不是一个平台,您将通过编写我上面提到的自己的东西来重新发明轮子。但是,是的,swing 学习和上手速度更快。我认为它更适合寿命较短的小型应用。

查看一些开源应用程序 http://www.eclipse.org/community/rcp.php 在打开之前,RCP 仅用于构建一个东西。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top