Eclipse平台插件开发指南——什么是Eclipse

时间:2021-12-31 03:25:14

什么是Eclipse

  Eclipse是一个平台,它是构建集成web与桌面应用程序的开发工具。在设计时,平台并不给最终用户提供大量的功能。平台推崇基于插件模型(plug-in model)的可集成的快速开发。

  Eclipse提供了一个通用的用户界面模型处理工具。它被设计成可以运行在多种操作系统之上,同时提供与每个底层操作系统紧密集成。

  Eclipse的核心是一个动态发现、加载和运行插件的体系结构。该平台处理查找和运行右侧代码的流程。平台界面提供了一个标准的用户导航模型。插件则专注于少数量的任务上。是哪些类型的任务呢?定义,测试,动画,发布,编译,调试,生成图表……一切只要你想的到。

开放的体系结构

  Eclipse平台定义一个开放的体系结构,每个插件的开发团队可以专注于他们擅长的领域。如,让仓库专家构建后端,易用性专家构建用户端工具。如果平台被设计的很好,可以添加重要的新特性和整合层次而不影响其他工具的使用。

  从最终用户的角度来看,Eclipse平台使用集成了工具的通用工作台模型。你开发的工具可以使用定义良好的钩子插进工作台中,这个钩子称为扩展点

  平台自身是建立在插件层次上的,每一个插件定义了低层次插件的扩展点的扩展,进而为进一步的定制定义自己的扩展点。这样的扩展模型允许插件开发者在基本工具平台中添加各种不同的功能。每个工具生产出来的工件(artifact),如文件和其它数据,通过一个通用的平台资源模型来进行协调。

(译者注:扩展点是定义,扩展是实现,类似于接口和实现类。)

  平台提供给用户一个使用工具的通用方式,并提供对他们用插件创建的资源进行综合管理。

  插件开发人员也可以从这个架构中获益。平台管理着由不同运行时环境如不同的操作系统或工作组服务器运行环境所带来的复杂性。插件开发人员可以专注于他们特定的任务而不用担心这些集成问题。

平台结构

  Eclipse平台本身就是子系统构成的,由一个或多个插件实现。这些子系统在一个小型的运行时引擎之上建造。下图是一个简单的描绘。

  Eclipse平台插件开发指南——什么是Eclipse

  组成这个子系统的插件为给平台添加行为,定义了多个扩展点。下表描述了平台的主要运行时组件,这些组件由一个或多个插件来实现。

平台运行时(Platform runtime)

定义扩展点和插件模型。动态发现插件和在平台注册表中维护插件及其扩展点的信息。当需要平台响应用户操作时,插件被启动。运行时使用OSGI框架实现。

资源管理(Resource Management(workspace))

定义资源创建和管理的API。这些资源包括项目、文件和文件夹,由工具生成并保存在文件系统中。

工作台界面(Workbench UI)

实现了导航平台的用户驾驶舱。它为添加UI组件定义了扩展点,如视图或菜单的动作(actions)。为创建用户界面提供了附件的工具包(JFace 和 SWT)。UI服务是结构化的,因此UI插件的子集可以被用来创建富客户端的应用程序,独立于资源管理和workspace模型。以IDE为中心的插件为导航和操作资源定义了附加的功能。

帮助系统(Help system)

像浏览书本一样,为插件定义扩展点,可以提供帮助或者其它的文档。

团队支持(Team support)

为管理和版本化资源,定义了一个团队编程模型。

调试支持(Debug support)

为构建调试器和启动器,定义了一个语言独立的调试模型和UI类。

其它工具(Other utilities)

其它提供功能性的工具性插件,比如资源的搜索和比较,使用XML配置文件执行构建,以及从服务器动态升级平台。

 

盒子之外

  离开了web,基础平台仅仅只是一个IDE,没有什么特别的。

  Eclipse平台插件开发指南——什么是Eclipse

  它是一个确定平台最终功能的插件。这就是为什么Eclipse SDK与附加的插件绑定在一起,以增强SDK的功能。

你的插件可以为编辑和操作额外的资源类型提供支持,如Java文件,C程序,Work文档,HTML网页和JSP文件。