Eclipse RCP应用开发(概念)
2013-08-26 16:46
323 查看
学习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对抗的图形工具箱,至于优缺点比较网上对比的口水文章太多,这里就不做评价。
相关文章推荐
- TCP/IP协议-概念、应用、开发、Hack
- 程序包开发相关概念及其应用
- Unix/Linux C++应用开发-C++基础概念"数组、指针和字符串"
- Eclipse RCP开发的有用资源及应用案例
- 文摘:在企业应用系统及开发中运用黑盒/白盒模型概念
- 《精通Spring4.X企业应用开发实战》读后感第七章(AOP概念)
- 如何独立开发一款 macOS 应用:从概念到上线
- ExtJS 4 MVC开发应用-实现按需加载、支持松藕合概念
- 【miscellaneous】 GStreamer应用开发手册学习笔记之基础概念介绍
- Unix/Linux C++应用开发-C++基本概念“常量”
- Ruby on Rails开发Web应用的基本概念
- 程序包开发相关概念及其应用
- 曾经有一段时间非常关注Eclipse RCP开发,还做了几个小的应用
- Android简明开发教程四:Android应用基本概念
- jBPM 5/jBPM 6 基本概念,示例介绍,深入理解,工作流应用开发指南
- 在Debian中建立Beaglebone black的应用开发环境之一:基本概念
- Ruby on Rails开发Web应用的基本概念
- 敏捷开发--概念及其应用
- 浅谈Android应用开发中一些概念的理解
- Unix/Linux C++应用开发-C++基础概念"变量存储"