什么是Eclipse RCP?


说起Eclipse我相信大家都不陌生,但是说到Eclipse RCP就很少有人知道了,下面我将简单介绍一下Eclipse RCP。 适用人群:想了解Eclipse RCP;想使用java以便捷的方式开发桌面应用且对界面要求不高;想开发一款自定义的IDE或是插件。本文可以帮你了解Eclipse RCP,形成概念。

Eclipse

我相信大家都对Eclipse十分熟悉了。Eclipse是一款集成开发环境(IDE)。IBM于2001年将Eclipse源码开放,从此Eclipse就在社区中快速发展(社区真是伟大!)。Eclipse 每年6月份都会发布新版本,从2006年到文章编写时间(2016.9.14)Eclipse已经经历了10个版本了。

About IDEA

我相信大家在看这篇文章的时候也许会说:现在大家都在用IDEA了谁还用Eclipse啊。然后直接右上了。我想说,首先,这篇文章重点不是在于争论IDEA和Eclipse谁好谁差。其次,(在本文编写时)国内Eclipse的市场占有量还是远远大于IDEA,在AndroidStudio出现之前这个比例更大。为什么会出现这种情况,我觉的有两种情况,首先,IDEA上手难度要比Eclipse稍稍大一些,其次,很多国内的公司不愿意改变或者说改进自己现有的一些技术、使用的工具、服务、工作流程。这是普遍问题了。

Eclipse Structure

Eclipse所有的东西都是插件,Eclipse是由插件组成的应用。

Eclipse IDE Eclipse IDE是java的集成开发环境,可以看到上层有JDT,用于支持java的开发。 Eclipse RCP使用的底层基本组建和Eclipse IDE是一样的。上层使用插件取决于你要做出来的产品的功能是什么样的。 Eclipse RCP 所以你也可以这么理解,Eclipse RCP就是将Eclipse IDE针对java开发的插件全都剥离,比如java Editor插件,debugger插件等等,从而剩下的最基本的东西。

核心组件介绍

OSGi & Equinix

OSGi是一套规范,该规范和核心部分是一个框架,其中定义了应用程序的生命周期模式和服务注册。Equinox是OSGi这套框架规范的实现。Equinox是作为Eclipse Platform的Runtime,为Eclipse应用能够模块化的运行提供必要的API和框架。

SWT

SWT是Eclipse使用的标准UI库,Jface在SWT之上,提供了一些平滑的接口,可以方便我们调用。workbench提供了框架,负责显示所有的UI组件。

EMF

EMF(Eclipse Modeling Framework)是Eclipse数据模型框架。提供了定义数据模型的功能,并且能够在Eclipse Runtime使用这些数据。

Extensions & Extension Point

扩展和扩展点也是Eclipse RCP中的核心概念,如果要了解Eclipse插件开发或RCP开发就一定会接触到扩展和扩展点。上文中提到,Eclipse中所有的组件都是插件。如果需要扩展插件就要使用扩展和扩展点。 Extensions 举个例子,如果你需要在自己的Eclipse上添加一个新的Editor,这个Editor是你自定义的,那么你就要扩展Eclipse Platform上的editor的扩展点,这样在编辑的过程中你就可以选用你的编辑器,你也可以将这个编辑器作为某种文件的默认编辑器(绑定文件扩展名)。这个概念可以想象成是插头,每个插件上都有个插座,这个插座就是扩展点。插上这个插座的东西就是其他插件。

总结

本文简单介绍了Eclipse RCP的基本概念和核心组件,包括基本架构,扩展和扩展点概念等,让读者可以对Eclipse RCP有个基础的认识。

results matching ""

    No results matching ""