什么Eclipse RCP?
An Eclipse RCP application is a stand-alone application based on Eclipse platform technologies. This book uses the terms Eclipse based applications, Eclipse application, Eclipse 4 application and Eclipse RCP application interchangeably for referring to such applications.
An Eclipse application consists of individual software components. The Eclipse IDE can be viewed as a special Eclipse application with the focus on supporting software development.
The core components of the Eclipse IDE are depicted in the following graphic. The intention of the graphic is to demonstrate the general concept, the displayed relationships are not 100% accurate.
An Eclipse RCP application typically uses the same base components of the Eclipse platform and adds additional application specific components as depicted in the following graphic. 引用。 因为我一直感觉英文原版最能说明和阐述清楚一个概念,所以就原汁原味的保留。不做撇脚的翻译了。
Java的图形库
基于Java的图形库最主要的有三种,它们分别是Swing、AWT和SWT。其中前两个是Sun随JDK一起发布的,而SWT则是由IBM领导的开源项目(现在已经脱离IBM了)Eclipse的一个子项目。
SWT的执行效率非常高。这是由于SWT的底层是由C编写的。由于SWT通过C直接调用系统层的GUI API。因此,使用SWT编写GUI程序,在外观上就和使用C++、Delphi(在Windows下)编写的程序完全一样。它的这一点和AWT类似。AWT在底层也是使用C直接调用系统层的GUI API。
但它们是有区别的,最大的区别可能就是一个是Sun提供的,一个是Eclipse自带的。这就意味着如果使用AWT,只要机器上安装了JDK或JRE,发布软件时无需带其它的库。而如何使用SWT,在发布时必须要自带上SWT的*.dll(Windows版)或*.so(Linux/Unix版)文件以及相关的*.jar包。还有就是它们所提供的图形接口有一些差异。SWT可能更丰富一些,我们可以看看Eclipse的界面就知道了。但随着Sun对AWT库的不断更新,AWT的图形表现能力也在不断地提高。
虽然SWT很强大,但它比较底层。也就是说它的一些功能在使用上还比较低级,不太符合面向对象的特征。因此,在SWT的基础上又开发了JFace。JFace在SWT上进行了一定的扩展。因此,也可说JFace是基于SWT的,就象在VC中使用MFC来包装Win32 API一样。
小结
Eclipse的内核为我们构建一个客户端程序提供了一个基础的底层框架,使得我们能快速的构建一个客户端程序,同c++的MFC开发而言,当然方便不少。