SWT / JFace还是Eclipse RCP?

时间:2009-10-01 17:23:14

标签: java swt eclipse-rcp rcp jface

选择Eclipse Rich Client Platform作为我的应用程序的基础的原因是什么,而不仅仅是使用SWT / JFace?

4 个答案:

答案 0 :(得分:23)

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

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

  • 对您的不同模块有更好的定义
  • 管理他们的生命周期和版本兼容性
  • 隔离classloader issues

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

答案 1 :(得分:17)

除了VonC has pointed out(OSGi平台好处:模块化,类加载器隔离,可扩展体系结构)之外,Eclipse RCP还提供了许多应用程序级服务,可以简化最终产品的整体开发:

使用Eclipse RCP,您将获得:

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

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

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

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

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

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

答案 2 :(得分:5)

只需要我的2便士,但香草SWT / JFace可以减少学习曲线。我喜欢它们只是简单的GUI,你不需要学习“平台”(如RCP方式),只需掌握SWT组件并构建你的GUI!总的来说,我觉得它更简单(但我对RCP并不是很了解!)。

答案 3 :(得分:0)

Eclipse 4依赖注入机制是一个很好的资产,选择Eclipse RCP, 现在使用E4,平台可以非常轻巧,

使用模型编辑器添加到此e4工具,可以节省大量时间