Eclipse 是一个已完全设计好的平台,用于构建集成 Web 和应用程序开发工具。通过设计,平台本身不会提供大量的最终用户功能。平台的价值在于它的促进作用:根据插件模型来快速开发集成功能部件。
Eclipse 提供了公共用户界面(UI)模型来使用工具。它被设计为在多个操作系统上运行,同时提供与每个底层操作系统的强大集成。插件可以为 Eclipse 可移植 API 设计程序,并在任何受支持的操作系统上不加改变地运行。
Eclipse 的核心是动态发现、装入和运行插件的体系结构。平台处理查找和运行正确代码的数理逻辑。平台用户界面提供标准的用户导航模型。于是每个插件可以专注于执行少量的任务。有哪些类型的任务?定义、测试、制作动画、发布、编译、调试、图解等等,只要您想象得到的应有尽有。
Eclipse 平台定义了一个开放式体系结构,以便使每个插件开发小组专注于他们擅长的领域。让存储库专家构建后端,让可用性专家构建最终用户工具。如果平台设计好了,就可以添加重要的新功能部件和集成级别,而不会影响其它工具。
从最终用户的观点看来,Eclipse 平台使用公共工作台的模型来集成工具。可以使用严格定义的称为扩展点的挂钩来将您开发的工具插入到工作台中。
平台本身是内置在插件层中的,每个插件定义下层插件的扩展点的扩展,同时定义它们自己的扩展以进行进一步的定制。此扩展模型允许插件开发者向基本工具平台添加各种功能。每个工具的工件(例如,文件和其它数据)是由公共平台资源模型来协调的。
平台为用户提供了使用工具的常见方法,并对它们利用插件创建的资源提供集成管理。
插件开发者也因此体系结构而受益。平台负责管理不同运行时环境的复杂事务,例如,不同操作系统或工作组服务器环境。插件开发者可以专注于完成他们的特定任务,而不用担心这些集成问题。
Eclipse 平台本身被构造成在一个或多个插件中实现的子系统。子系统构建在小型运行时引擎的顶部。下图描绘了简化的视图。
组成子系统的插件定义扩展点,用于将行为添加到平台中。下表描述了平台的主要运行时组件,它是作为一个或多个插件来实现的。
平台运行时 |
定义扩展点和插件模型。它动态地发现插件并维护平台注册表中有关这些插件及其扩展点的信息。插件是根据平台的用户操作在需要时启动的。运行时是使用 OSGi 框架实现的。 |
资源管理(工作空间) |
定义 API,以创建和管理由工具生成的并保存在文件系统中的资源(项目、文件和文件夹)。 |
工作台用户界面 |
实现用于浏览平台的用户场合。它定义用于添加用户界面组件(例如,视图或菜单操作)的扩展点。它提供用于构建用户界面的附加工具箱(JFace 和 SWT)。已构造用户界面服务以便可使用用户界面插件的子集来构建独立于资源管理和工作空间模型的富客户机应用程序。以 IDE 为中心的插件定义用于浏览和处理资源的附加功能。 |
帮助系统 |
定义用于插件提供帮助或者作为浏览书籍的其它文档的扩展点。 |
小组支持 |
定义用于管理资源和设置资源版本的小组编程模型。 |
调试支持 |
为构建调试器和启动程序定义独立于语言的调试模式和用户界面类。 |
其它实用程序 |
其它实用程序插件提供如下功能:搜索和比较资源、使用 XML 配置文件执行构建以及从服务器动态更新平台。 |
无缝集成(或者离线 Web)- 基本平台对任何对象而言总是一个集成开发环境(IDE),没有任何特殊情况。
它是用来确定平台的基本功能的插件。这就是为何 Eclipse SDK 提供附加插件来增强 SDK 的功能的原因。
插件可以支持编辑和处理其它类型的资源,例如,Java 文件、C 语言程序、Word 文档、HTML 页面和 JSP 文件。