SWT/JFace 或 Eclipse RCP?

2022-09-02 08:56:02

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


答案 1

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

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

  • 更好地定义不同的模块
  • 管理其生命周期和版本兼容性
  • 隔离类装入器问题

如果您的应用程序只是一个整体式 GUI 字体端,则 RCP 可能有点过分。


答案 2

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

使用 Eclipse RCP,您将获得:

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

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

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

还要记住,在SWT / JFace土地上决定GUI框架时,Eclipse RCP不再是镇上唯一的游戏。有一些严肃的竞争者可能会更好地满足您的需求:

  • Riena平台项目引用了他们自己的话“构建多层企业客户端/服务器应用程序的基础”
  • E4项目项目是一项正在进行的工作,旨在构建下一代eclipse RCP平台,并考虑更多的模块化设计。

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


推荐