19

选择 Eclipse 富客户端平台作为我的应用程序的基础,而不是仅仅使用 SWT/JFace 的原因是什么?

4

4 回答 4

23

Eclipse RCP 不仅仅是一个 GUI (SWT/JFace),而是一个基于OSGi的平台。

因此,您将选择 RCP 框架以便:

  • 更好地定义您的不同模块
  • 管理它们的生命周期和版本兼容性
  • 隔离类加载器问题

如果您的应用程序只是一个单一的 GUI 字体端,那么 RCP 可能有点矫枉过正。

于 2009-10-01T18:03:33.083 回答
17

除了VonC 指出的要点(OSGi 平台优势:模块化、类加载器隔离、可扩展架构)之外,Eclipse RCP 还提供了许多应用程序级服务,可以简化最终产品的整体开发:

使用 Eclipse RCP,您将获得:

  • 现成且可扩展的 UI 应用程序框架
    • 分离离散应用领域的观点
    • 视图编辑器,用于提供具有自己生命周期的可重用 UI 块
    • 带有键绑定、上下文处理程序以及工具栏和菜单绑定的命令抽象
  • 整个日食生态系统的所有好处

当然 - 后一部分并不一定意味着您必须使用 Eclipse RCP 平台这一庞然大物来获得那些提供的优势。

根据您的应用程序的范围,您最好将 Equinox 用作底层 OSGi 容器并在此基础上构建您自己的 GUI 客户端。

还要记住,当在 SWT/JFace 领域中决定 GUI 框架时,Eclipse RCP 不再是唯一的游戏。有一些严肃的竞争者可能更适合您的需求:

  • Riena Platform Project引用他们自己的话“构建多层企业客户端/服务器应用程序的基础”
  • E4 Project项目正在进行中,以构建具有更多模块化设计的下一代 eclipse RCP 平台。

编辑: Eclipse e4 项目自从我的原始答案发布以来已经从一个正在进行的工作中毕业,现在已经成为一个完全可用的富客户端应用程序框架/平台。它已经成熟到现在被用作最新 Eclipse 4.2 (Indigo) IDE 的底层平台。

于 2010-01-13T09:06:54.230 回答
5

只值我的 2 便士,但香草 SWT/JFace 的学习曲线可能更少。我喜欢它们只是简单的 GUI,您不需要学习“平台”(如 RCP 方式),只需掌握 SWT 组件并构建您的 GUI!总的来说,我认为它更简单(但我对 RCP 知之甚少!)。

于 2010-01-19T20:47:36.110 回答
0

Eclipse 4 的依赖注入机制是一个很大的财富,选择Eclipse RCP,现在有了E4,平台可以很轻量级,

用它模型编辑器添加到这个e4工具,让你节省大量时间

于 2013-06-18T17:23:35.743 回答