学习Eclipse RCP应用开发,对其中一些相关的概念需要了解。

让我们在讲解概念前先思考两个问题。

问题一、什么是Eclipse

大部分同学会回答eclipse是IBM公司开发的java集成开发环境(IDE)。

问题二、Eclipse体系结构是什么?

这个问题可能有点难回答。既然是一个开发环境,又能有什么体系结构?最多就是开发环境和一些插件而已。

按照上面的想法,就太小看Eclipse了,其实Eclipse由Eclipse平台、JDT、PDE以及其它插件这几个部分组成。以下将对这几个概念逐一讲解。

Eclipse平台:简单的说Eclipse平台就是一个通用的基础架构平台,从结构可以分为核心core与用户界面UI两层。更细化一些,Eclipse由以下几个部分组成。

(1)平台核心(platform kernel):与用户界面无关的基础结构,包括平台运行时(platform runtime),插件管理,工作空间(workspace)和资源管理以及版本和配置管理。

(2)工作台(workbench):工作台指的是用户工作界面。主要包括VIEW、Editor与Perspectives。

(3)工作区(workspace):由一些配置数据即元数据和用户项目组成

(4)团队组件(tram component)。

(5)说明组件(help)。

根据eclipse白皮书的说法,除 platform runtime外,所有的功能都是由插件组成。只不过eclipse平台自带的是核心插件,用户开发的是新的功能插件。

JDT:JDT(Java Development Tooling)也就是我们理解的eclipse平台下的java开发工具。

PDE:PDE(Plug-in Development Environment)插件开发环境,PDE提供了一系列的工具,可以用于建立、开发、测试、调试、发布Eclipse的插件。如下图。

 

SWT-JFACE

通过以上的介绍,相信对eclipse体系结构,有了简单的了解。但说到eclipse的开发,还要引申出两个工具箱,SWT,JFace

前面说过eclipse平台的UI界面是围绕着workbench呈现给用户,那怎样基于workbench开发呢?workbench实际是通过swt,Jface来开发的,也就是说workbench基于SWT和JFACE两个工具箱,用户可以通过使用SWT,JFACE扩展和开发插件。

SWT:SWT(Standard Widget Toolkit, 标准图形工具箱)是用java开发的GUI工具箱,即控件集合,SWT可以对操作系统进行判断,操作系统窗口平台有的控件,SWT会直接使用如Button,Text等,操作系统没有的控件SWT则会去主动绘制。

JFACE:JFACE是一套基于SWT的工具箱,对SWT进行了再次包装。

因为Eclipse的开发都在workbench上,那再理清一下workbench的概念,workbench基于SWT,JFACE,也就是workbench是由SWT与JFACE开发出来的,workbench主要包括,View, Editor, Perspectives。

Editor: 编辑器允许用户打开、编辑和保存对象。

View:辅助编辑器,提供信息。

Perspectives:组合Editor与View并布局在屏幕上,每个透视图有自己的视图和编辑器。工作台可以有多个独立的透视图,但只能有一个是激活的,可以通过切换查看不同透视图。

另外再解释几个概念:

RCP:RCP(Rich Client Platform)富客户端平台,指的是一种C/S应用软件的公用基础结构实现,Rich的概念是相对与B/S应用软件的浏览器而言。因此基于Eclipse RCP的应用开发,通俗一点说就是基于eclipse体系的富客户端平台开发,更通俗一点说就是开发一个和Eclipse长的很像的客户端。

OGSI:OSGI(Open Service Gateway Initiative)一个标准,基于此标准实现的框架可以轻松的构建模块化,动态化的系统。

最典型的基于OSGI标准的框架就属Equinox(org.eclipse.osgi),从包名就可以看出Equinox是eclipse的OSGI框架。

SWING与AWT:简单一点说,这两个东西就是SUN公司与IBM公司的SWT与JFace对抗的图形工具箱,至于优缺点比较网上对比的口水文章太多,这里就不做评价。

Eclipse RCP应用开发(概念)的更多相关文章

  1. Eclipse RCP学习资料

    1.拥抱Eclipse RCP http://www.blogjava.net/youxia/category/17374.html 2.RCP工程下面自动生成了如下文件:Application.ja ...

  2. Eclipse RCP:多平台部署

    1 问题 在使用Eclipse RCP IDE进行开发时,它自带的PDE(插件开发环境)工具仅能够导出相同平台的部署包,比如win32的仅能导出win32的,linux64仅能够导出linux64的. ...

  3. Eclipse中Python开发环境搭建

    Eclipse中Python开发环境搭建  目 录  1.背景介绍 2.Python安装 3.插件PyDev安装 4.测试Demo演示 一.背景介绍 Eclipse是一款基于Java的可扩展开发平台. ...

  4. eclipse配置c开发环境

    // */ // ]]> eclipse配置c开发环境 1. eclipse配置c开发环境 1.1. 缘起 1.2. cygwin 1.3. eclipse 1.4. 配置 1 eclipse配 ...

  5. 可视化(番外篇)——在Eclipse RCP中玩转OpenGL

    最近在看有关Eclipse RCP方面的东西,鉴于Gephi是使用opengl作为绘图引擎,所以,萌生了在Eclipse RCP下添加画布,使用opengl绘图的想法,网上有博文详细介绍这方面的内容, ...

  6. 极其简单的搭建eclipse的android开发环境

    这篇博客是关于如何搭建eclipse的android开发环境, 与网上的其他博客不同,我的方法比他们简单的多,所 以推荐给大家. 搭建eclipse的android开发环境步骤: 1.配置JDK(Ja ...

  7. mac10.9下eclipse的storm开发环境搭建

    --------------------------------------- 博文作者:迦壹 博客地址:http://idoall.org/home.php?mod=space&uid=1& ...

  8. Eclipse配置Flex开发环境(转)

    Eclipse配置Flex开发环境 开发环境:Eclipse3.2.Flex Builder31.下载安装Flex Builder3,下载地址:http://subject.csdn.net/adob ...

  9. Ubuntu环境下eclipse的hadoop开发

    在安装好hadoop伪分布式后,开始搭建eclipse的hadoop开发环境 我的版本信息如下: Ubuntu 版本 12.10 Hadoop版本 1.2.1 Java版本  1.6.0_31(命令j ...

随机推荐

  1. 【动态规划】bzoj1633 [Usaco2007 Feb]The Cow Lexicon 牛的词典

    f[i]=min{f[i+1]+1,f[i+len[j]+cant]+cant}(for i=L-1 downto 0)(1<=j<=w) #include<cstdio> # ...

  2. 【点分治】hdu5016 Mart Master II

    点分治好题. ①手动开栈. ②dp预处理每个点被哪个市场控制,及其距离是多少,记作pair<int,int>数组p. ③设dis[u].first为u到重心s的距离,dis[u].seco ...

  3. 【二分法】【尺取法】bzoj2348 [Baltic 2011]Plagiarism

    一开始以为死于精度……调了半天发现死于long long…… 一.二分法: #include<cstdio> #include<cstring> #include<alg ...

  4. 软件配置篇-MySQL下载及安装

    1.进入MySQL官网下载 下载地址:https://dev.mysql.com/downloads/mysql/ 选择合适的版本下载. 2.安装MySQL 解压后文件夹一般名为:mysql-x.x. ...

  5. ListView控件(上)数据适配器:ListView绑定监听是SetOnItemClickListener

    (一) 1.效果图: 2.MainActivity.java package com.example.app5; import android.support.v7.app.AppCompatActi ...

  6. 关于数字、数据处理的几个PHP函数汇总

    1. / 得到的结果是浮点数 2. % 求余数 3.ceil():得到大于当前数字的整数 $num=3.4; $num=ceil($num); echo $num;   的到的结果是4 $num=3. ...

  7. Delphi 目前使用delay函数功能

    procedure sdfg.iTimers1Timer4(Sender: TObject);var vsub : Cardinal; vSetinterval: Cardinal;begin vsu ...

  8. WebGL的颜色渲染-渲染一张DEM(数字高程模型)

    目录 1. 具体实例 2. 解决方案 1) DEM数据.XYZ文件 2) showDEM.html 3) showDEM.js 4) 运行结果 3. 详细讲解 1) 读取文件 2) 绘制函数 3) 使 ...

  9. 使用原生JS进行字符串转对象

    字符串转对象 目的 工作中如果需要原生 JS 完成字符转对象的话可以通过 JSON.parse(str), 但是这个方法是ES5中才出现, 如果需要兼容低版本就需要其它方法 使用原生 JS 解决字符串 ...

  10. 定期访问WebLogic Server返回状态的脚本

    在运维过程中,经常要获悉WebLogic Server的状态以便于主动的维护,本文通过weblogic WLST脚本初步设计了一下 脚本大概为2个,一是WLST的py脚本,getStates.py c ...