初学 Eclipse RCP

    作者:Flyingis

    以前一直做WebGIS方面的工作,对桌面关心甚少。桌面开发让人第一个想到的是VB6的快速开发,以及VC++平台中对效率的追求,VB.NET似乎找不到一个合适的定位。自己以后想逐步转向桌面,毕竟桌面才是GIS的天下,在效率、可扩展性、开发速度以及平台可持续发展中权衡,让我选择了Eclipse RCP。

    说向桌面转型而选择Eclipse RCP有些片面,因为桌面开发仅仅是Eclipse RCP开发的一个子集,用Eclipse RCP进行Web开发同样可以。Eclipse RCP是一个基础应用平台,在这个平台上,我们可以方便的扩展自己的应用、快速开发自己的程序、统一应用程序的界面等等,按照官方的话来说,Eclipse RCP开发的特点在于:

    1.组件式的架构:所有的业务功能都可以设计为可以重用的插件,插件之间的相互访问与重组,就构成了系统的业务模块。其中最典型的应用,就是通过插件来增强Eclipse Java IDE的功能。

    2.将程序关注的重点集中在业务领域:Eclipse RCP本身就基于Eclipse插件体系结构,基于这个统一的架构,程序员可以很方便的开发出自己的客户端应用,将主要精力放在业务逻辑的实现。

    3.适应需求的变化:Eclipse就是由插件搭建而成的,通过增减插件,我们可以很容易的实现业务功能的变更。为Eclipse加入中文包就是最好的例子,通过.link文件对中文包文件的引用,可以实现Eclipse的中文本地化,当我们需要将语言恢复为英文时,只需删除对应的.link文家即可。

    Eclipse体系的核心是插件,3.0版本以后Eclipse开始采用OSGI作为其插件体系结构实现的基础,OSGI是一套开放的标准,这样可以增强网络范围内的互操作性,每个Eclipse插件就是一个OSGI的模块。OSGI模块中最重要的是Bundle和Service,Bundle是插件管理器,Service是这个模块可以暴露对外的服务对象。每个Bundle拥有自己的ClassLoader以及context,通过context可进行服务的注册、卸载等。启动时Eclipse核心会检查所有的插件并注册,但是直到被调用,该插件才会被实例化,这个过程就是懒加载。

    在OSGI之上的是Runtime,它提供了Application模型和扩展机制。

    和OSGI框架和JVMs一样,Eclipse Runtime需要知道做什么。运行Eclipse,首先需要构建一个Application,它和Java程序中的main方法类似,Runtime启动后,程序需要找到指定的Application,Application通过扩展来定义,该扩展指定一个类(扩展点)作为主程序的入口。Application必须实现IplatformRunable接口,由此接口提供的run方法接管Eclipse平台的控制权,当Application结束时,Eclipse平台也会退出。

    Products运行于Application之上,它主要提供典型应用程序的基本界面的实现,例如闪屏、windows图标等。一个Eclipse安装中可能存在多个Application和Product,但是在同一时刻只能运行一个Application和一个Product。

    各种插件添加到Eclipse RCP是通过扩展来实现的,扩展的创建必须遵循扩展点(Extension Point)定义的规范进行明确的声明,我们可以使用Eclipse提供的现成的扩展点,还可以定义新的扩展点,并在此基础上进行扩展。Eclipse平台上常见的扩展点有:actionSets、editor、popUpMenu、views、perspectives、propertyPages等等。

    关于Eclipse中的插件类型:

    Eclipse是各种插件的集合,但总体而言,插件开发有两种提供方式,一种是插件集构建的应用,拥有自己的程序入口,如Eclipse平台在Windows下通过点击eclipse.exe可以进入。另一种是以扩展的方式提供的插件集,它们通常不是完整的,也没有自己的程序入口,仅用以加入到已存在的平台中进行辅助性的开发,如GEF、EMF、CDT等。


    参考资料:

    《Eclipse Rich Client Platform:Designing,Coding,and Packaging JavaTM Applications》
    《程序员》2006年5月刊
    http://www.eclipseworld.org/
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值