Chinaunix首页 | 论坛 | 博客
  • 博客访问: 5401066
  • 博文数量: 763
  • 博客积分: 12108
  • 博客等级: 上将
  • 技术积分: 15717
  • 用 户 组: 普通用户
  • 注册时间: 2007-09-28 21:21
个人简介

业精于勤,荒于嬉

文章分类

全部博文(763)

文章存档

2018年(6)

2017年(15)

2016年(2)

2015年(31)

2014年(14)

2013年(87)

2012年(75)

2011年(94)

2010年(190)

2009年(38)

2008年(183)

2007年(28)

分类: Java

2008-09-27 22:58:55

[摘要] Eclipse RCP是一项位于Eclipse平台核心的功能。作者认为Eclipse RCP就是由插件开发转向桌面应用开发,构建最小化的Eclipse平台(8M)运行你的桌面应用,不必再为程序框架烦心,摆脱失败的AWT和Swing,让程序拥有专业级效果,而实现又很简单、很优雅
 
 
1、引言

  Eclipse是一个开放源代码的、基于Java的可扩展的开发平台。就其本身而言,它只是一个框架、一组服务,用于通过插件来构建开发环境。当我们提到Eclipse的时候,许多Java开发者的第一反应就是那个性能良好,界面漂亮,Debug功能奇佳的Java集成开发平台。

  无可否认,Eclipse常常作为一款优秀的IDE(Integrated Development Environment,集成开发环境)出现在开发者面前的。它不仅仅是Java的IDE,还可以是C语言的IDE、Python的IDE——只要开发出相应语言的插件,Eclipse就可以成为任何语言的IDE。但是,这些严格来说都是Eclipse RCP的应用。真正的Eclipse,是一个提供了一个完善的插件机制RCP(Rich Client Platform,胖客户端平台)平台;它以SWT/JFace作为界面元素组件,提供给用户一个名为Workbench的UI平台;加上它本身优秀的插件机制,它能够构造出扩展能力强、性能优秀、并能提供给用户良好UI体验的服客户端平台。

  2、Eclipse RCP简介

  Eclipse RCP是一项位于Eclipse平台核心的功能。大多数人想到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) 构建插件化系统的最佳实践的指导,从 RCP 的设计中,可以学习到如何将应用做到模块化、将应用做到动态化,甚至还可以学习到如何自动生成界面这样的设计思想。 RCP 可以看做是基于 OSGi 做插件化应用系统的最佳实践,其中的不少设计方法甚至都可以整理成为基于 OSGi 做插件化应用系统的设计模式,让我们进入 RCP 之旅,揭开面纱,一探其本质吧!相信大家在了解了 RCP 的设计思想,看过其代码后,不得不对 RCP 表示崇高的敬意,大师之作,不同凡响。

  Eclipse RCP为应用程序开发人员提供了:

  ◆应用程序和特性的一致且本地的外观;

  ◆公共应用程序服务,例如窗口管理、更新管理、帮助和选择管理;

  ◆本地的外观,利用Windows、Mac OS X、Linux、Solaris、HP-UX、AIX和嵌入式设备上的实际平台窗口部件;

  ◆标准化的组件模型;

  ◆普及的可扩展性;

  ◆整合的更新机制;

  ◆顶级开发工具(Eclipse 软件开发包(SDK)是世界级的软件开发环境)。

  Eclipse RCP项目用SWT图形库和工具包取代了Java标准中的AWT和Swing。SWT直接调用了操作系统的图形库,从而使得Java应用程序的LOOK & Feel 与操作系统的习惯完全一致;更为重要的是,对本地方法的直接调用大幅度的提高了基于SWT 的Java应用程序的运行速度。SWT 的缺点主要在于两点:(1) 不是Java语言标准; (2) 支持的平台太少。

  3、Eclipse RCP体系结构

  一个Eclipse RCP可分为如下五个部分,

  (1)Wrokbench工作台

  为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运行平台

  平台运行库是整个Eclipse的内核,它在启动时检查已安装了哪些插件,并创建关于它们的注册表信息。为降低启动时间和资源使用,它在实际需要某个插件的时候才加载该插件。除了内核外,其它每样东西都是作为插件来实现的
阅读(1491) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2008-09-28 11:13:04

普拉多 http://www.praado.cn 收藏夹支持多级管理和模糊搜索,大大方便了在信息泛滥时代对有用信息的有效管理。