Eclipse 平台架构

1. Eclipse 平台架构

        Eclipse平台是围绕着插件(plugin-ins)的概念组织起来的,插件是代码和数据组成的资源束,为Eclipse平台添加功能。可以以代码库、平台扩展、甚至是文档的形式为Eclipse添加功能。插件可以定义扩展点,其他的插件可以通过扩展点添加新的功能。

 

        平台中的每一个子系统都是一组实现了关键功能的自组织的插件,一些插件使用扩展模型向平台添加了可视化的功能,另外一些提供了能够用来实现系统扩展的类库。

 

        Eclipse SDK 包含了基本的平台部分和两个对于插件开发非常有用的重要工具,Java开发工具 (Java development tools, JDT) 实现了一个完整的Java开发环境,插件开发环境 (Plug-in Developer Environment, PDE) 提供了简化插件和扩展点开发的专门工具。

 

        这两个插件不仅提供了有用的功能,而且提供了插件开发的非常好的例子,展示了新的工具是怎么通过创建扩展插件添加到平台中的。


Eclipse 平台架构_第1张图片

 

2. Eclipse SDK 概览

 

2.1 运行时核心 (Runtime Core)

        平台运行时核心实现了一个运行时引擎,运行基础平台,动态发现和运行插件。插件就是一个用OSGI清单文件(MANIFEST.MF)和一个插件清单文件(plugin.xml)描述的具有组织结构的组件,Eclipse 平台维护了一个所安装插件以及其所提供功能的注册表。

 

        由于运行时的存在,用户只要不使用所安装的插件就不会占用内存和产生性能损失,插件可以安装和添加到平台的注册表,但是,除非用户使用到插件提供的功能,插件就不会激活。

 

        Eclipse 平台运行时是使用OSGI 服务模型实现的,对于一般应用程序开发者来说,Eclipse运行时的实现细节或许不是很重要,但是熟悉OSGI的开发者会发现Eclipse 插件实际上是一个OSGI 束(bundle)。

 

        熟悉Eclipse 运行时系统最好的方式就是创建一个插件,Plug it in: Hello World meets the workbench 这篇文章讲述了怎样创建一个插件,想要理解运行时系统的详细细节,可以看看Runtime overview 。

 

2.2 资源管理

        资源管理插件定义了一个通用资源模型,来管理工具插件的制品 (artifacts)。插件可以创建和修改项目、文件夹和文件,组织和存储磁盘上的开发制品。 Resources overview 这篇文章提供了资源管理系统的概要描述。

 

2.3 工作台UI (Workbench UI)

        工作台UI 插件实现了工作台UI 并定义了一些扩展点,使得其他的插件可以添加菜单和工具栏动作、拖拽操作、对话框、向导和定制的视图、编辑器。 Plugging into the workbench 介绍了工作台UI扩展点和API。

 

        还有一些UI插件定义了帮户用户界面开发的框架。这些框架用来开发工作台本身。使用这些框架不仅简化了插件用户界面的开发,而且确保不同插件具有一个共同的外观和层次一致的工作台集成。

 

        标准小部件工具集(Standard Widget Toolkit, SWT),是一个低级的、独立于操作系统的工具集,支持平台集成和可移植API。Standard Widget Toolkit 讲述了SWT。

 

        JFace UI 框架提供了一个更高级的应用程序结构,支持对话框、向导、动作(action)、用户首选项和小部件管理等。Dialogs and wizardsJFace: UI framework for plug-ins 讲述了JFace 提供的功能。

 

2.4 团队支持 (Team support)

        Team 插件允许其他插件实现团队编程和版本库访问。Eclipse SDK 包含一个CVS 插件,使用team support 在SDK中提供CVS 客户端支持。Team support 描述了 Team support。

 

2.5 调试支持

        通过扩展Debug 插件,我们可以创建新的插件,来实现特定编程语言程序的启动和调试。 Program debug and launching support 描述了调试的实现机制。

 

2.6 帮助系统

        帮助插件实现了一个平台优化的帮助Web服务器和文档集成基础工具,定义了一些能够帮助其他插件实现帮助和插件文档的扩展点,帮助系统提供的文档Web 服务器包含了一些特定的工具,允许插件能够使用逻辑的、基于插件的URL的方式引用文件,而不是通过文件系统URL。还有一些插件在产品的级别上提供了帮助文档的支持。

 

2.7 Java 开发工具 (JDT)

        Java 开发工具(JDT) 扩展了平台工作台(platform workbench),为编辑、查看、编辑、调试和运行Java code代码提供了特定的功能特性。JDT 作为一个套插件包含在 Eclipse SDK中,Java 开发用户指南 描述了怎样使用JDT。JDT插件开发指南 描述了JDT的结构和API。

 

2.8 插件开发环境 (Plug-in Development Environment, PDE)

        PDE 提供了自动化创建、修改、调试和部署插件的工具。PDE也是作为一个套插件包含在Eclipse SDK中的。PDE指南 描述了怎样使用PDE。

 

附:

参考:http://help.eclipse.org/helios/index.jsp?topic=/org.eclipse.platform.doc.isv/guide/arch.htm

 

你可能感兴趣的:(eclipse,编程,UI,框架,osgi)