Eclipse平台插件开发指南——平台架构

平台架构

Eclipse平台以插件的理念构造。插件以代码和/或数据组成的bundles构成,对系统提供功能。功能以代码库(公共API的Java类)、平台扩展、文档等提供。插件可以定义扩展点,定以明确其它插件可以增加功能的位置。

平台的每一个子系统本身都是由一个插件集合构成的,这些插件实现了一些关键的功。一些插件使用扩展模型为平台新增了可视化的特性。还有其它用来实现系统扩展的类库。

Eclipse SDK包含了基础平台以及两个用于插件开发的主要工具。JDT(Java development tools)实现了Java开发环境的全部特性。PDE(Plug-in Developer Environment)增加了特别的工具,简化插件和扩展的开发。

这些工具不仅达到了易用的目的,而且提供了一个成功的实例说明新的工具如何以插件的方式添加到这个平台中,扩展这个系统。

 

平台SDK的路线图

运行时内核

平台的运行时内核实现了启动平台以及动态发现和运行插件的运行时引擎。一个插件是一个结构化的组件,使用OSGI的清单文件(MANIFEST.MF)和插件的清单文件(plugin.xml)向系统描述其自身。平台维护一个注册表,包含已安装的插件及它们所提供的功能。

运行时的总体目标就是终端用户不需要为安装不使用的插件而花费内存或损耗性能。一个插件可以被安装和添加到注册表,除非这个插件已经根据用户活动的要求作出请求而提供功能,否则这个插件不会被激活。

平台运行时使用OSGI服务模型进行实现。然而对于大多数开发者来说,运行时的实现细节并不是那么重要,那些已经了解OSGI的人会发现Eclipse插件实际上就是一个OSGI的bundle。

感受运行时系统最好的方式就是创建一个插件。查看Plug it in: Hello World meets the workbench开始开发一个插件。了解运行时系统的基本要点,查看运行时概述(Runtime overview)。

 

资源管理

资源管理插件定义了一个公用的资源模型,用于管理插件产品。插件可以创建和修改项目、文件夹和文件,组织和存储在磁盘上开发的产品。

资源概述(Resources overview)提供了资源管理系统的概述内容。

 

工作台UI

         工作台UI插件实现了工作台的UI,并定义一系列的扩展点,允许其他插件为菜单和工具条提供事件、拖放操作、对话框、向导、自定义视图和编辑器。Plugging into the workbench介绍了工作台UI扩展点和API。

附加的UI插件定义了一般用来为用户界面开发提供可用性的框架。这些框架被用来开发工作台本身。使用这些框架不仅使一个用户界面插件的开发变得简单,而且确保了这些插件具有通用的外观并与工作台集成在一致的标准上。

标准控件工具集(SWT,the Standart Widget Toolkit)是一个低级的、与操作系统无关的工具集,支持平台集成和易用的API。Standart Widget Toolkit作出了描述。

JFace 界面框架提供了高级的应用程序结构,支持对话框,事件,用户体验以及控件管理。关于JFace的功能在Dialogs and wizardsJFace:UI framework for plug-ins作出了描述。

 

团队支持

团队编程,仓库访问,版本控制,团队插件让其他的插件定义和注册这些实现。Eclipse SDK包含了CVS插件,它使用团队支持,为SDK提供CVS客户端。Team support描述了团队支持。

 

调试支持

         调试插件允许其他的插件实现特定语言编程的启动器和调试器。Program debug and launching support描述了调试支持。

 

帮助系统

         帮助插件实现了一个平台优化的网络帮助服务器和文档集成服务。该插件定义的扩展点可以用来提供帮助以及其他插件的文档,像可浏览的书籍一样。文档网络服务器内置特殊的服务,允许插件引用本地文件——使用基于插件的URLs,而不是文件系统的URLs。

在产品级别的文档配置提供额外的功能来集成帮助主题。

Plugging in help描述了帮助服务。

 

Java开发工具(JDT)

JDT插件扩展平台工作台,为编辑、浏览、编译、调试和运行Java代码提供等特定功能。

JDT以一个插件集的形式包含在SDK中进行安装。Java开发用户指南描述了怎样使用Java工具。JDT插件开发指南描述了JDT的结构和API。

 

插件开发环境(PDE)

插件开发环境提供了自动创建、管理、调试和部署插件的工具。

PDE以一个插件集的形式包含在SDK中进行安装。PDE指南描述了怎样使用这个环境。

 

 

 

posted @ 2014-01-24 16:28  ahjdzx  阅读(506)  评论(0编辑  收藏  举报