大多数人想到Eclipse时,会想到Java集成开发环境(IDE)。如果将Eclipse中关于 IDE的内容剥去,剩下的就是一个提供基本工作台功能的核心,包括对可移动以及可叠加的窗口组件(
编辑器
和视图)、菜单、
工具栏
、按钮、表格、
树形结构
等 等的支持,而这个核心就是Eclipse RCP。
Eclipse RCP就是由插件开发转向桌面应用开发,构建最小化的
Eclipse平台
(8M)运行你的桌面应用,不必再为程序框架烦心,摆脱失败的
AWT
和Swing,让程序拥有专业级效果,而实现又很简单、很优雅。
RCP提供了丰富的界面控件,这使得基于 Java 开发桌面应用也变得容易了很多,虽然仍然不能和基于VB、Delphi进行相比。对于开发者而言,尽管使用 RCP 也是为了开发桌面应用,但 RCP 给开发者带来的更多的感觉是在它充分发挥了插件化系统的优势, RCP 可以视为基于 OSGi(Open Service Gateway Initiative) 构建插件化系统的最佳实践的指导,其中的不少设计方法甚至都可以整理成为基于 OSGi 做插件化应用系统的设计模式,从 RCP 的设计中,可以学习到如何将应用做到模块化、将应用做到动态化,甚至还可以学习到如何自动生成界面这样的设计思想。相信大家在了解了 RCP 的设计思想,看过其代码后,不得不对 RCP 表示崇高的敬意,大师之作,不同凡响。
Eclipse RCP为应用程序开发人员提供了:
◆应用程序和特性的一致且本地的外观;
◆公共应用程序服务,例如窗口管理、更新管理、帮助和选择管理;
◆标准化的组件模型;
◆整合的更新机制;
◆顶级开发工具(Eclipse 软件开发包(SDK)是世界级的
软件开发环境
)。
Eclipse RCP项目用SWT图形库和工具包取代了Java标准中的
AWT
和Swing。SWT直接调用了操作系统的图形库,从而使得Java应用程序的LOOK & Feel 与操作系统的习惯完全一致;更为重要的是,对本地方法的直接调用大幅度的提高了基于SWT 的Java应用程序的运行速度。SWT 的缺点主要在于两点:(1) 不是
Java语言
标准; (2) 支持的平台太少。
为Eclipse提供用户界面。它是使用SWT(Standard Widget Toolkit)和一个更高级的API(
JFace
)来构建的;SWT是Java的Swing/AWT GUI API的非标准替代者,JFace则建立在SWT基础上,提供用户界面组件。
(2)Workspace工作区
工作区是负责管理用户资源的插件。它包括用户创建的项目、项目中的文件,以及文件变更和其它资源。工作区还负责通知其它插件关于资源变更的信息,比如文件创建、删除或者变更。
(3)Help帮助系统
帮助组建具有与
Eclipse平台
本身相当的可扩展能力。与插件向Eclipse添加功能相同,帮助提供一个附加的导航结构,允许工具以
HTML文件
的形式添加文档。
(4)Team团队支持系统
团队支持组件负责提供
版本控制
和
配置管理
支持。它根据需要添加视图,以允许用户与所有使用的任何版本控制系统交互。大多数插件都不需要与团队支持组件交互,除非它们提供版本控制服务。
(5)Platform Runtime运行平台