无标题文章

2016-07-12  本文已影响0人  小熊威尼的夏天

Eclipse平台结构

背景介绍

Eclipse是一种通用的工具平台,本身是由IBM捐献并成立的Eclipse基金会的,所以IBM很多的产品线都是基于Eclipse平台的,如RTC,DS等产品.Eclipse的目标是能成为所有语言开发的IDE,之所以如此,得益于Eclipse体系结构中的插件机制。

Eclipse目标

1.支持各种应用开发工具的构建。
2.支持无限的工具提供者,包括独立软件供应商(ISV)。
3.支持可操做任意内容类型的工具 (例如,HTML、Java 、C、JSP、EJB、XML 和GIF )。
4.能在各种操作系统下运行,包括Windows 和Linux 。
  Eclipse最大的特点是可扩展,为了实现这个特征,Eclipse采用了插件机制进行扩展,插件可以针对不同语言编程开发,不同业务逻辑进行服务。

Eclipse插件特点

1.插件是Eclipse 平台下最小的可单独开发和发布的功能单元。
2.插件一般都是用Java 编写一个JAR 文件,里面包括了Java 代码、一些只读文件和 其他资源,如 Web 模板、消息目录和本地代码库等。有的插件甚至没有代码。例如,提供HTML 页面格式的在线帮助的插件。
3.每个插件都有一个声明自身与其他插件的关联关系的清单文件。关联模型很简单:一个插件声明任意 个命名的扩展点,同时声明任意 个对其他插件的扩展点。
4.插件的扩展点可以被其他插件扩展。例如,工作台插件给用户声明了一个扩展点首选项,任意插件通过定义该扩展点的扩展来添加自己的用户首选项。一个扩展点可能有一 个对应的应用程序接口。其他插件通过扩展该扩展点实现这个接口。所有的插件都可以定义新扩展点并为其他插件提供新的应用程序接口。

Eclipse平台结构图

Eclipse平台的核心是“Platform Runtime”,它是一个微内核,在微内核上也就是PR上进行插件扩展,其它所有的功能如日常的Workspace,Workbench等都是以插件的形式提供的。Workbench插件完成界面的外观显示, Workspace负责工作区资源的管理等,其中的示意图如下。


结构解析

  1. 平台运行时:Platform Runtime 平台运行库是内核,它在启动时检查已安装了哪些插件,并创建关于它们的注册表信息。即在eclipse运行时发现和管理插件。为降低启动时间和资源使用,它在实际需要任何插件时才加载该插件。除了内核外,其他每样东西都是作为插件来实现的
  2. 工作空间:Workspace 工作区是负责管理用户资源的插件。这包括用户创建的项目、那些项目中的文件,以及文件变更和其他资源。工作区还负责通知其他插件关于资源变更的信息,比如文件创建、删除或更改。
    3.工作台:Workbench 工作台为Eclipse提供用户界面。它是使用标准窗口工具包(SWT)和一个更高级的 API(JFace)来构建的;SWT 是 Java 的 Swing/AWT GUI API 的非标准替代者,JFace 则建立在 SWT 基础上,提供用户界面组件。
    插件可以扮演双重角色,其他插件服务的使用者和其他插件服务的提供者

启动流程

Eclipse Paltform Runtime核心处理启动,搜索查找被安装在磁盘上的以插件形式存在的工具,匹配这些功能插件上扩展点所提供的扩展服务,构造全局的插件注册库,并能够缓存下次将用到的已注册的插件。Eclipse Platform启动之后,提供了一个基于插件的集成开发环境,用户可以在这个平台上开发新的插件完成更强大的功能或开发应用程序

Platform Runtime(PR)

Eclipse可以认为是一个PR+插件s,PR负责管理,发现,启动已经安装的插件,当用户选择了插件的功能,PR会负责载入和初始化插件。
  Eclipse平台运行时发现插件的过程如下:

Eclipse基础插件

Eclipse的每个子系统本身是由某些关键功能的一组插件构建的。


参考声明

 魏楚元, 李陶深, 张增芳. Eclipse:基于插件的下一代通用集成开发环境[J]. 计算机应用与软件, 2005, 22(6):38-40.    
 网上搜索资料
上一篇下一篇

猜你喜欢

热点阅读