`
freesoftman
  • 浏览: 314401 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Eclipse RCP技术简介

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

[关键字] Eclipse Java 基础

  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的内核,它在启动时检查已安装了哪些插件,并创建关于它们的注册表信息。为降低启动时间和资源使用,它在实际需要某个插件的时候才加载该插件。除了内核外,其它每样东西都是作为插件来实现的。


来自于:<http://www.enet.com.cn/article/2007/1023/A20071023879905.shtml>
分享到:
评论

相关推荐

    Eclipse插件开发笔记—PDF—带目录

    1.5 RCP技术 1.6 EMF技术 1.7 GEF技术 1.8 本章小结 第2章 SWT/JFace概述 第3章 SWT编程基础 第4章 使用基本控件与对话框 第5章 容器与布局管理器 第6章 界面开发工具 第7章 高级控件使用 第8章 SWT/Jface的事件处理...

    Eclipse权威开发指南2.pdf

    10.1 在RCP上构建应用程序的 理由...... 235 10.1.1 给企业带来的好处..... 235 10.1.2 给软件开发者带来的 好处..... 236 10.1.3 给用户带来的好处..... 236 10.2 复习Eclipse体系结构...... 237 10.2.1 Eclipse...

    Eclipse权威开发指南3.pdf

    10.1 在RCP上构建应用程序的 理由...... 235 10.1.1 给企业带来的好处..... 235 10.1.2 给软件开发者带来的 好处..... 236 10.1.3 给用户带来的好处..... 236 10.2 复习Eclipse体系结构...... 237 ...

    Eclipse权威开发指南1.pdf

    10.1 在RCP上构建应用程序的 理由...... 235 10.1.1 给企业带来的好处..... 235 10.1.2 给软件开发者带来的 好处..... 236 10.1.3 给用户带来的好处..... 236 10.2 复习Eclipse体系结构...... 237 ...

    eclipse 插件开发入门

    1.SWT/Jface技术 2.插件与OSGi 3.RCP技术 3.EMF技术 4.GEF技术 5.Eclipse开发示例 6.VE插件的使用

    Eclipse插件项目的自动化集成与构建

    火龙果软件工程技术中心 本文内容包括:自动构建简介使用Eclipse工作平台导出Eclipse插件项目PDEheadless-build基础使用ant自动获取cvs源控制中的代码与资源具体实例——一个样例插件的构建结束语下载参考资料...

    精通Android游戏开发

    除本书外,他还著有Grid Computing for Developers 和Practical Eclipse RCP Projects。 目录 第1章 欢迎进入Android游戏世界 1 1.1 必备技能 1 1.1.1 扎实的Android基础 1 1.1.2 Linux和Shell脚本的基本知识 3 1.2...

    RobotFramework常用库简介.pdf

    Eclipse Library:使⽤SWT窗⼝⼩部件测试Eclipse RCP应⽤程序的库。 robotframework-faker:⼀个服务faker的库,faker的测试数据⽣成器。 swinglibrary:⽤Swing GUI测试java应⽤程序库 remoteswinglibrary:使⽤...

    网络数据库课程设计报告.pdf

    此网上选课系统主要采用 RCP 和 S2SH 技术来完成,管理员模块采用 RCP 技术, 就是 Rich Client Platform 的缩写, 即富客户端平台, 做成应用软件的形式。 然后其他模块的功能就用 Struts2+Spring2.0+Hibernate3.2...

Global site tag (gtag.js) - Google Analytics