Eclipse平台插件开发者指南之一 Eclipse是什么

Eclipse 是一个平台。目前它已经被设计成用于建造集成的Web和桌面应用的工具。在设计时,平台并没有给最终用户提供很多的功能。这个平台的价值在于,它能让用户以插件的方式快速开发可集成的功能部件。

Eclipse提供一套常用的UI模型,支持多种操作系统。按照Eclipse提供的可移植API编写的插件,不需要做任何修改,就可以在所有支持的操作系统上运行。

Eclipse 的核心,一个能够动态发现,装载,和运行插件的架构。平台负责发现和运行代码。UI提供一个标准的引导用户使用平台的模型。插件则专注于小数量的任务上。是哪种类型的任务呢?定义,测试,动画,发布,编译,调试,绘图…一切只要你想得到。

开放的架构

Eclipse 提供一个开放的架构,其他的开发团队可以在他们专长的领域里面给这个平台开发插件。如,仓库专家建造后端,使用方面(UE)的专家建造前端。可以增加重要的新功能部件和层次,而不会与其他的工具冲突。

从用户的角度来看,Eclipse 平台使用一个共同的工作台的模型。你可以将开发的工具通过它预先定义的钩子(extension points)插入到工作台中。

这个平台是由插件以层次的方式建成,每一个插件定义了更低层次的插件的扩展点的扩展,也可为更高层次的插件自定义扩展点。这种扩展模式可以让开发者给基础工具平台增加不同的功能。每一个工具生产出来的人工品,比如文件和其他的数据,由一个共同的平台资源模型来协调。

插件的开发者可以从这个架构中获得很多。这个平台管理多种不同的运行时环境,例如不同的操作系统或者工作组服务器环境。插件开发者能够专心完成他们的任务,不用担心有关集成的问题。

平台架构

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

拼凑成这个子系统的插件为给平台增加行为, 而定义了多个扩展点。下表描述这个平台的主要运行时组件,由一个或者多个插件实现。
平台运行时    定义了扩展点与插件模型。动态发现插件和在一个平台注册表中维护插件及其扩展点的信息。当需要响应用户对平台的操作时,插件被启动。运行时使用OSGi框架实现。
资源管理(workspace)    为资源的创建和管理,定义的API。这些资源包括项目、文件和目录,都是由工具生成并且保存在文件系统里。
工作台UI    实现用户纵览平台的座舱。定义了扩展点,为增加UI组件,比如 views 或者 菜单 actions。提供附加的工具(JFace和SWT)来建造用户界面。UI服务是结构化的,因此UI插件的子集能够被用于建造RCA,独立与资源管理和workspace模型。以IDE为中心的插件为纵览和操纵资源,定义了另外的功能。
帮助系统    像书籍一般,给插件来定义扩展点,能够提供帮助或者其他的文档。
团队支持    为管理和版本化资源,定义了一个团队编程模型。
调试支持    定义了一个语言独立的调试模型和UI类,为的是建造调试器和运行器。
其他工具    其他的插件,比如支持搜索和资源比较,使用XML配置文件执行建造,从服务器那里动态升级平台。

盒子之外

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

它是一个检查平台的最终功能的插件。这就是为什么Eclipse SDK和额外的插件一起装运,来增加SDK的功能。

你的插件可以提供这样的支持,编辑和操作额外的资源类型,例如Java文件、C程序、Word文档、HTML页面和JSP文件。

挑战

我们要求达到一个这样的集成水准,魔法般将独立的开发工具揉合到一个设计套件中。已有的工具可以足够简单的迁移到平台中,不需要强塞硬撬。

平台应该是开放的,用户可以选择工具,并且他们知道供应商在底层平台的开发过程中说了些什么。

它应该足够简单,容易理解,足够强壮,无须额外的粘和剂就支持集成。

提供工具,将平凡常用普通的任务自动化。足够稳定,让业界强壮的工具在其上面建造。非常有用,平台的开发者可以使用它来建造它本身。

上面都是Eclipse的目标。这个手册将帮助你检查Eclipse如何去实现这些想法。

This entry was posted in Eclipse. Bookmark the permalink.

Comments are closed.