`
wangxiaohigh
  • 浏览: 1426190 次
文章分类
社区版块
存档分类
最新评论

eclipse插件开发,RCP开发常识

 
阅读更多
基于eclipse进行插件或者rcp程序开发,需要了解一些基础知识,例如OSGI,swt,jface,EMF,GMF等概念。

OSGI简介

OSGi技术是面向Java的动态模型系统。OSGi服务平台向Java提供服务,这些服务使Java成为软件集成和软件开发的首选环境。Java提供在多个平台支持产品的可移植性。OSGi技术提供允许应用程序使用精炼、可重用和可协作的组件构建的标准化原语。这些组件能够组装进一个应用和部署中。

SWT简介

SWT(Standard Widget Toolkit) Standard Widget Toolkit是一个开源的GUI编程框架,与AWT/Swing有相似的用处,著名的开源IDE-eclipse就是用SWT开发的。在SWT之前,Sun已经提供了一个跨平台GUI开发工具包AWT (Abstract Windowing Toolkit). 虽然AWT框架也使用的是原生窗口部件(native widgets),但是它一直未能突破LCD问题。LCD问题导致了一些主要平台特征的遗失。

为解决这个问题,Sun又创建了一个新的框架。这个框架不再使用原生窗口部件,而是使用仿真窗口部件(emulated widgets)。这个方法虽然解决了LCD问题,并且提供了丰富的窗口部件集,但是它也带来了新的问题。例如,Swing应用程序的界面外观不再和原生应用程序的外观相似。虽然在JVM中这些Swing应用程序已经得到了最大程度的性能改善,但是它们还是存在着其原生对应物所不具有的性能问题。并且,Swing应用程序消耗太多的内存,这样Swing不适于一些小设备,如PDA和移动电话等。

  SWT框架通过JNI来访问原生窗口部件。如果在宿主(host)平台上无法找到一个窗口部件,SWT就会自动地模拟它。为了方便开发SWT程序,在SWT基础上又创建了一个更易用、功能强大的图形包“JFace”。然而,JFace并不能完全覆盖SWT的所有功能,所以编程时SWT、JFace都会要用到,但是一般来说,能用JFace的组件就最好不要用SWT的。

  SWT本身仅仅是Eclipse组织为了开发Eclipse IDE环境所编写的一组底层图形界面 API。或许是无心插柳,或是有意为之,至今为止,SWT无论是在性能和外观上,都超越了SUN公司提供的AWT和SWING。目前SWT已经十分稳定。这里指的稳定应该包含两层意思:

  一是指性能上的稳定,其中的关键是源于SWT的设计理念。SWT最大化了操作系统的图形构件API,就是说只要操作系统提供了相应图形的构件,那么SWT只是简单应用JNI技术调用它们,只有那些操作系统中不提供的构件,SWT才自己去做一个模拟的实现。可以看出SWT的性能上的稳定大多时候取决于相应操作系统图形构件的稳定性。

EMF简介

Eclipse Modeling Framework,基于Eclipse的模型框架。它是Eclipse MDA(Model Driven Architecture)的一个重要组成部分,是Eclipse中许多项目的基础( e.g, GEF), EMF可以将模型转换成高效的,正确的,和易于定制的Java代码。EMF项目的最初目标是要实现OMG(Object Management Group)的MOF规范(Meta Object Facility)。在项目的进行中EMF的开发人员根据大量的实践经验对MOF规范进行了再加工,提取出了一些核心的元素集(MOF 2.0 中称为EMOF(Essential MOF))。可以说EMF 是MOF核心子集的java高效实现,在EMF 中MOF核心子集的实现称为Ecore。

GMF简介

Graphical Modeling Framework(GMF) 提供了图形化编辑器的开发环境和运行时框架。

eclipse插件开发常识

1.插件在什么时候加载?

第一次插件被调用的时候,例如,插件提供的扩展点被其他插件调用或者打开的插件依赖于该插件。

2.如何配置插件在平台启动时自动加载?

使用"org.eclipse.ui.startup"扩展点,在eclipse3.5以后的版本中可以在产品配置信息中设置自动加载。

3.什么是扩展(extensions)和扩展点(extension point)?

扩展是一个实现或者应用程序的扩展点。

扩展点是一系列功能或者代码的封装。应用程序可提供扩展点,其他应用可以在不修改应用程序的前提下进行扩展。

4.插件的classpath是怎么样的?

OSGi 父 class loader,(java默认根class loader),被导出的所有插件引入包,插件声明库以及相关内容。

5.如何在非ui线程中访问UI对象?

使用Display.syncExec(Runnable runnable) 或者Display.asyncExec(Runnable runnable)

6.是否需要显示调用org.eclipse.swt.graphics.Image.dispose()

SWT 图形需要显示调用dispose()释放系统资源,如果不调用,系统可能会出现资源耗尽情况。

7.什么是Display,什么是Shell

Display是一个设备,是SWT与操作系统的桥梁,SWT通过Display读取和分发事件,通过SWT组件操作。

Shell是一个UI组件,总是在最顶层,类似桌面窗口

8.什么是EMF

Eclipse Modeling Framework,模型管理框架。

分享到:
评论

相关推荐

    eclipse插件及RCP开发资料.rar

    eclipse插件及RCP开发资料.rar eclipse插件及RCP开发资料.rar eclipse插件及RCP开发资料.rar

    eclipse插件开发 rcp入门开发详细讲解一

    eclipse插件开发: rcp/swt相关资料

    eclipse插件开发: rcp/swt相关资料 rcp swt 插件开发

    Eclipse插件开发笔记—PDF—带目录

    《Eclipse插件开发》由浅入深、有重点、有针对性地介绍了Eclipse插件开发技术,全书分为4篇共24章。第一篇介绍Eclipse平台界面开发的基础知识,包括SWT控件的使用、界面布局、事件处理等内容;第二篇是插件开发核心...

    Eclipse插件开发学习笔记 第三四篇(26-28)+原代码.rar

    本书由浅入深、有重点、有针对性地介绍了Eclipse插件开发技术,全书分为4篇共24章。第一篇介绍Eclipse平台界面开发的基础知识,包括SWT控件的使用、界面布局、事件处理等内容;第二篇是插件开发核心技术,主要介绍...

    eclipse 插件开发01

    第三篇主要讲述插件开发的高级内容,包括开发高级内容、富客户端平台技术(RCP)、Draw2d,以及GEF介绍与实现等4个章节;第四篇则围绕插件开发和GEF应用两个主题,精心设计了两个程序开发实例,使读者能更加全面地...

    eclipse3.4 RCP插件开发英文教程

    eclipse3.4 RCP插件开发英文教程,转成了pdf

    Eclipse插件开发笔记源码

    Eclipse插件开发笔记,书源码。经典eclipse插件开发案例,RCP开发案例

    Eclipse插件开发学习笔记 第三四篇(22-25).rar

    本书由浅入深、有重点、有针对性地介绍了Eclipse插件开发技术,全书分为4篇共24章。第一篇介绍Eclipse平台界面开发的基础知识,包括SWT控件的使用、界面布局、事件处理等内容;第二篇是插件开发核心技术,主要介绍...

    eclipse插件开发实战

    介绍了eclipse插件开发基本理论、插件项目结构及开发步骤,最后再给出两个插件开发实例。结构如下: 1.介绍eclipse内核结构、扩展点机制; 2.介绍SWT的原理,控件设计及事件响应机制 3.介绍OSGi 4.介绍RCP(Rich ...

    《Eclipse插件开发学习笔记》源码

    本书由浅入深、有重点、有针对性地介绍了Eclipse插件开发技术,全书分为4篇共24章。第一篇介绍Eclipse平台界面开发的基础知识,包括SWT控件的使用、界面布局、事件处理等内容;第二篇是插件开发核心技术,主要介绍...

    Eclipse插件开发 学习笔记 第二篇 核心技术(11-16).rar

    本书由浅入深、有重点、有针对性地介绍了Eclipse插件开发技术,全书分为4篇共24章。第一篇介绍Eclipse平台界面开发的基础知识,包括SWT控件的使用、界面布局、事件处理等内容;第二篇是插件开发核心技术,主要介绍...

    Eclipse插件开发 学习笔记 第一篇 开发基础(01-05).rar

    Eclipse插件开发 学习笔记 第一篇 开发基础(01-05).rar Eclipse插件开发 学习笔记 第一篇 开发基础(06-10).rar Eclipse插件开发 学习笔记 第二篇 核心技术(11-16).rar Eclipse插件开发 学习笔记 第二篇 核心技术(17-...

    Eclipse插件开发学习笔记 第一篇 开发基础 (第一章到第八章)

    本书的主要内容是介绍Eclipse插件开发的相关知识和技巧,包括Eclipse的系统结构、SWT/JFace技术、插件开发方法、RCP开发方法以及其他一些相关的技术专题。本书覆盖了Eclipse平台技术的核心领域,是目前市场上讲述...

    Eclipse插件开发方法与实战 光盘

    本书语言深入浅出,通俗易懂,通过大量具有典型性和实用价值的实例,以及形象的比喻,把复杂的问题和难懂的概念简单化,从多个方面引导读者进入Eclipse插件开发。 附书光盘内容为书中实例源代码及相关插件。 本书...

    Eclipse插件开发相关文档.rar

    Eclipse插件开发相关文档.rar 包括 Eclipse插件开发学习笔记-源代码1至24章+使用说明 Eclipse RCP 自学教程.doc RCP入门教程.pdf SWT设计.pdf

    Eclipse插件开发+学习笔记(完整 清晰) part1

    本书由浅入深、有重点、有针对性地介绍了Eclipse插件开发技术,全书分为4篇共24章。第一篇介绍Eclipse平台界面开发的基础知识,包括SWT控件的使用、界面布局、事件处理等内容;第二篇是插件开发核心技术,主要介绍...

    eclipse插件开发步步教你

    eclipse插件开发入门步步教你做例子,讲解常用扩展点和注意的地方,希望能对学习eclipse插件开发的人有帮助。

    eclipse rcp 插件开发学习笔记.pdf 1-14章

    eclipse rcp 插件开发学习笔记.pdf 1-14章

    Eclipse插件开发学习笔记(第二篇 核心技术 9-13章)

    本书由浅入深、有重点、有针对性地介绍了Eclipse插件开发技术,全书分为4篇共24章。第一篇介绍Eclipse平台界面开发的基础知识,包括 SWT控件的使用、界面布局、事件处理等内容;第二篇是插件开发核心技术,主要介绍...

Global site tag (gtag.js) - Google Analytics