我们学习和开发过程中用到Java的地方,就有Eclipse的影子,Eclipse平台是目前流行的Java开发工具之一,很重要的一个原因是它开源免费;有人会说我用的是MyEclipse,它的功能更强大,其实MyEclipse是Eclipse的升级版,使用更方便但它是收费的,不管它免费还是收费,它们都极大的方便了我们的开发;Eclipse之所以能升级为MyEclipse,是因为Eclipse平台是建立在OSGi框架之上,插件式开发,每个开发者都可以实现自己的插件,是不是很牛啊,可以做编程工具了,下面学习一下Eclipse平台的机制和原理。
网络配图 因Eclipse平台是建立在OSGi框架之上,我们首先要简单了解一下OSGi框架是什么? OSGi(全称Open Service Gateway Initiative)技术即面向Java的动态模型系统是Java动态化模块化系统的一系列规范。OSGi一方面指维护OSGi规范的OSGI官方联盟,另一方面指的是该组织维护的基于Java语言的服务(业务)规范;简单来说,OSGi可以认为是Java平台的模块层。关于OSGi框架了解这些就可以了。 Eclipse平台是遵循OSGi框架协议的一个插件的集合,这个插件框架非常的复杂;我们用一图来说明一个插件是如何工作的,如下图
网络配图 在Eclipse工作平台中每种插件之间存在两种关系: 1、依赖;在上面的图中,插件依赖插件B。 2、扩展;在上面的图中,插件扩展插件C。 以上简单了解了Eclipse的插件关系;可以说整个Eclipse就是由插件组成的,我们先看下它明晰的层次关系,它的插件层 次图,如下所示: +Eclipse SDK org.eclipse.sdk +Eclipse Platform +RCP org.eclipse.core.runtime org.eclipse.ui org.eclipse.update.configurator org.eclipse.swt org.eclipse.jface org.eclipse.platform org.eclipse.debug org.eclipse.ant org.eclipse.help ... +JDT org.eclipse.jdt.core org.eclipse.jdt.ui org.eclipse.jdt.doc org.eclipse.jdt.debug org.eclipse.jdt.junit +PDT org.eclipse.pde org.eclipse.pde.build org.eclipse.pde.core org.eclipse.pde.runtime org.eclipse.pde.ui org.eclipse.pde.doc org.eclipse.pde.source 从上面的结构可以看出,Eclipse SDK是这些插件的总和;在这些插件中,最核心的是RCP所用的几个插件, org.eclipse.core.runtime,org.eclipse.ui。org.eclipse.core.runtime主要提供跨平台的运行时支持,以及对其它插件 的管理机制;而org.eclipse.ui则提供跨平台的界面支持。
网络配图 总结一下,Eclipse平台首先是基于OSGi框架,由大量插件通过依赖和扩展两种关系组合在一起,形成了一个功能强大的开发工具。 在之后的软件设计和开发过程中,我们可以借鉴一下Eclipse的插件思想,把它运用到软件当中,使软件具有更好的重用性和重组性,提高软件的实用价值。 以后的章节中会介绍如何开发出一个Eclipse的插件,并安装到Eclipse平台上,我们也能给Eclipse的发展做贡献,是不是咱自己好强大啊!!!