版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Eclipse插件开发-RCP2014-09-16大纲简介RCPEclipseRCP开发大纲简介RCPEclipseRCP开发什么是RCP?RichClientPlatform(RCP)古以有之的概念;拥有丰富的客户体验有独立运算能力有独立存储能力1990s由VisualBasic和Delphi提出;现在的RCP这个词已经成了Eclipse-RCP的代名词了;单层架构的RCP应用RichClientViewokControlDataandLogicLocalData单机应用程序两层架构的RCP应用RichClientViewokControlRemoteData简单的企业级应用业务逻辑基本都集中与客户端之上,与远端数据库通过JDBC或者XML进行数据交换。三层架构的RCP应用ApplicationServerRichClientRemoteDataandLogicControlViewokControlwebservices,IIOP,…RemoteData标准的企业级应用业务逻辑存在于应用服务器之上,客户端仅处理客户端表现,无法同远端数据库直接通讯。复杂构架的RCP应用ApplicationServerRichClientRemoteDataandLogicControlViewokControlLocalDataandLogicwebservices,IIOP,…RemoteDataRemoteDataLocalData复杂的企业级应用存在多数据源,业务逻辑存在于应用服务器之上,客户端拥有简单业务处理能力,并有本地高速缓冲数据库。大纲简介RCPEclipseRCP开发标准Eclipse组成EquinoxSWTJFaceUIUpdateRuntimeIDEUILTKSearchDebugHelpTeamAntJDTPDEEclipseSDK/JavaIDEEclipse基本IDE组成EquinoxSWTJFaceUIUpdateRuntimeIDEUILTKSearchDebugHelpTeamAntJDTPDEEclipseIDEEclipse-RCP组成EquinoxSWTJFaceUIUpdateRuntimeIDEUILTKSearchDebugHelpTeamAntJDTPDEEclipsePlugin体系结构Eclipse-RCP整体结构A和B的差异我们称EclipsePlugin体系结构为A;我们称Eclipse-RCP体系结构为B;A和B的差异:B是在A的基础上进行了再一次的剥离;B在A的的基础上更加简洁;A是一个IDE所必备的平台;B是一个企业级应用所必备的平台;Eclipse-RCP内部结构著名的Eclipse-RCP应用RCP-GIS著名的Eclipse-RCP应用RCP-ForeFlight著名的Eclipse-RCP应用RCP-APS(高级项目管理)著名的Eclipse-RCP应用IBM-Louts8著名的Eclipse-RCP应用NASA火星探测器操作系统谁在做Eclipse-RCP方面的应用?IBM现有5大产品线BEA所有产品线普元EOS开发平台北京芒果软件工作室-思维图软件国内大量大型软件公司都纷纷成立团队开始做Eclipse-RCP方面的研究和研发,例如清华紫光,华为,神州数码等;Eclipse-RCP优势(一)Eclipse本身基于微小内核+插件搭建而成;基于OGSi框架之上,Eclipse-RCP拥有强大的插件热插拔和管理能力;基于Java之上,Eclipse-RCP天生就是在JavaEE体系之内;拥有B/S的业务简单扩充性,部署简易性,客户端瘦小性等特点;又拥有C/S的用户界面表现丰富,客户端单机运行,拥有一定运算能力等特点;Eclipse-RCP是一个C/S与B/S结合的产物;Eclipse-RCP优势(二)Eclipse-RCP为开发人员完成完成项目中需要的80%的代码,开发人员之需要集中经历完成20%的核心功能代码;Eclipse-RCP使产品天生就支持操作系统的迁移;Eclipse-RCP使产品拥有强大的可在线升级功能功能,真正做到应须而变;Eclipse-RCP使产品拥有高度的客户体验一致性,减少了后续产品的用户培训;Eclipse社区发布了强大的性能调整工具,帮助开发者在产品发布之前,对自己的Eclipse-RCP产品进行性能调整;Eclipse-RCP在Windows平台拥有强大的OLE功能,可以方便开发者在Windows平台上与Office等软件集成开发;大纲简介RCPEclipseRCP开发基础知识开发介绍Eclipse-RCP开发基本知识大纲简介RCPEclipseRCP开发基础知识开发介绍Eclipse-RCP开发基本内容OSGi介绍配置管理介绍Perspective-透视图Viewer-视图Editor-编辑器Wizard-向导OSGI从Eclipse3.0起其插件体系架构就重构为基于OSGI规范来实现的;OSGI是Eclipse-RCP的基础;OSGiR4规范OSGi规范的核心组件是OSGi框架。这个框架为应用程序(被叫做组件(bundle))提供了一个标准环境。整个框架可以划分为一些层次:L0:运行环境L1:模块-定义类的装载策略L2:生命周期管理安装、开启、关闭、更新和卸载L3:服务注册提供了一个在bundles间分享对象的完整模型。定义了大量的事件来处理服务的注册和删除。还有一个无处不在的安全系统渗透到所有层。OSGiR4规范Bundle的生命周期INSTALLEDRESOLVEDUNINSTALLEDACTIVESTOPPINGSTARTINGstartstopBundle间交互在OSGi中模块由一个或多个Bundle构成,模块之间的交互通过Import-Package、Export-Package以及OSGiService的方式来实现OSGiFrameworkBundleBundleJAVAOperatingSystemHardwareOSGiFrameworkServiceregistrypackagespackages配置管理介绍OSGi相关配置:MANIFEST.MFEclipseRCP插件相关配置:plugin.xmlBundle信息Manifest-Version:1.0Bundle-ManifestVersion:2Bundle-Name:MypricePlug-inBundle-SymbolicName:com.niis.myprice;singleton:=trueBundle-Version:1.0.0Bundle-Activator:com.niis.myprice.frame.ActivatorBundle-Vendor:NIISBundle-Localization:pluginEclipse-LazyStart:trueActivator类继承AbstractUIPlugin实现:start和stopdependenciesRequire-Bundle:org.eclipse.ui,
org.eclipse.core.runtimeImport-PackageImport-Package:antlr.actions.cppruntimeBundle-ClassPath:lib/commons-logging.jar,lib/jdom.jar,lib/log4j-1.2.9.jar,lib/mail.jar,bin/,lib/activation.jarExport-PackageExport-Package:com.niis.myprice.action;x-friends:="com.genuitec.eclipse.core"extension例子:<extensionpoint="org.eclipse.ui.perspectives"><perspectivename="MypricePerspective"class="com.niis.myprice.frame.Perspective"id="com.niis.myprice.perspective"></perspective></extension>常用扩展点:org.eclipse.ui.perspectivesorg.eclipse.ui.views。。。。。。extension-point
<extension-pointid="com.cvicse.extend1"name="extend1"schema="schema/com.cvicse.extend1.exsd"/>PerspectivePerspective应该包含哪些内容;一组Viewer,一些Editor如何通过配置产生一个Perspective?如何在Perspective增加多个Viewer?Perspective
<extensionpoint="org.eclipse.ui.perspectives"><perspectivename="MypricePerspective" class="com.niis.myprice.frame. Perspective"id="com.niis.myprice.perspective"></perspective></extension>Perspective扩展点:org.eclipse.ui.perspectivesName:透视图的名称Icon:透视图的图标Class:透视图的对应类,要实现IPerspectiveFactory接口Id:透视图的标识,建议设置和class一样的名称。Viewer如何通过配置产品一个Viewer;如何增加一个已经配置好的Viewer到我们当前的工作透视图中;Viewer一般应该包含哪些内容;一些要显示的内容;一些Action;一些右键菜单;有可能对应的Editor;Viewer如何通过配置产品一个Viewer;如何增加一个已经配置好的Viewer到我们当前的工作透视图中;Viewer一般应该包含哪些内容;一些要显示的内容;用SWT/Jface/Form描述一些Action;一些右键菜单;有可能对应的Editor;Viewer视图类继承ViewPart重写一些方法createPartControl,setFocus,dispose……Viewer添加到透视图
<extensionpoint="org.eclipse.ui.views"><viewclass="com.niis.myprice.views.WareView"id="com.niis.myprice.views.WareView"name="%plugin.waremanager"/></extension>Viewer添加下拉菜单和按钮ViewerViewer间通讯Editor如果通过配置产生一个Editor;配置时必须配置一个ICON如何构造一个Editor;一个IEditorInput的实现 //负责给Editor传入内容一个EditorPart的子类 //负责解析内容Editor重要方法IEditorInput接口publicbooleanexists()publicStringgetName(){return"";}publicStringgetToolTipText(){return"";}EditorPart类publicvoidinit(IEditorSitesite,IEditorInputinput)publicvoidcreatePartControl(Compositeparent)Viewer与Editor之间的关系Editor必定是同Viewer有关系的;一般editor是由viewer中触发事件打开的。WizardDialog我们开发核心在Wizard和WizardPage;Wizard控制(Back,Next,Finish,Cancel)是否可用,点击以后如何继续;WizardPage是真正显示在WiardDialog中的内容;如何创建Wizardpublicc
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电子配件采购合同范例
- 耗材委托采购合同范例
- 铜仁学院《材料热力学基础》2023-2024学年第一学期期末试卷
- 铜陵职业技术学院《纪录片创作声音制作》2023-2024学年第一学期期末试卷
- 铜陵学院《羽毛球选项》2023-2024学年第一学期期末试卷
- 完整版100以内加减法混合运算4000道100
- 完整版100以内加减法混合运算4000道84
- 铜川职业技术学院《机械制造技术基础》2023-2024学年第一学期期末试卷
- 桐城师范高等专科学校《云平台构建与管理实践》2023-2024学年第一学期期末试卷
- 小学数学二年级第二学期口算计算共5061道题
- 2024-2025年第一学期小学德育工作总结:点亮德育灯塔引领小学生全面成长的逐梦之旅
- 《SYT6848-2023地下储气库设计规范》
- 2024至2030年中国甲醚化氨基树脂行业投资前景及策略咨询研究报告
- 行政案例分析-第二次形成性考核-国开(SC)-参考资料
- 2024-2025学年人教版八年级上学期数学期末复习试题(含答案)
- 【MOOC】中级财务会计-北京交通大学 中国大学慕课MOOC答案
- “感恩老师”教师节主题班会教案【三篇】
- 《园林政策与法规》课件
- 读书分享《终身成长》课件
- GB/T 44843-2024在用自动扶梯和自动人行道安全评估规范
- 广东省广州市2023-2024学年六年级上学期语文期末试卷(含答案)
评论
0/150
提交评论