Eclipse RCP技术内幕

出版时间:2012-5  出版社:电子工业出版社  作者:梁骞 主编,王威 等编著  页数:300  
Tag标签:无  

前言

  前言  列位看官,拿起本书,缘由心生,表明您对技术感兴趣,对Eclipse的相关技术感兴趣。那您要仔细看了,本书绝不会辜负看官求知的殷切之心、拳拳之意。  缘起想当初,在完成了对Lotus Notes Client 8 & Expeditor 等产品的研发之后,技术团队的兄弟几个做总结时颇有兴致、相聊甚欢。带头大哥忽然非常感慨,言道“自从Eclipse利器独步天下以来,Eclipse的技术书籍可谓汗牛充栋,林林总总,不可说,不尽说啊!然你我可曾见一本‘独孤九剑’似的绝世典籍吗?”大家皆摇头叹息。事实如此,绝大多数有关Eclipse的书籍都是介绍Eclipse的使用或者Eclipse插件的开发,很少有中文书籍深入Eclipse的内部讲解它的实现机制和方法。  对初学者来说这种浅尝辄止的介绍尚可,然随着我国软件业的发展,我国的软件开发已经逐渐从应用软件开发向系统软件开发过渡,这就要求开发人员更多地掌握复杂系统的构造方法。学习世界上一些优秀的开源系统,研究其实现机制,是提高我们能力的一个最为快捷的方法。由于大型开源系统的复杂性,一般开发人员试图研究它们时往往会发现无从下手,心有余而力不足。  启明灯而照远帆,显慈悲达济天下。  于是撰写一本对Eclipse技术从业人员实实在在受用、既能知其然又能知其所以然、颇有深度和魅力的书籍就成了项目组成员的共识。  随喜,功德无量。  略叙看官若非初学者,请略过前两章的介绍,直接从第3章看起。作者本打算直接从第3章开讲,但考虑初学者的感受,还是介绍了Eclipse 平台和RCP技术的概况等,书中多引用IBM Lotus Notes 客户端等产品的例子。初学闻之,叹之强大,激发兴趣,亦是美事。  第3章讲述了RCP平台的架构,此为静态的分析,结构性的介绍。  第4章讲述了RCP平台是如何启动的,此为动态的分析切入,看官不可不察焉!  第5章讲述了RCP的核心运行时或曰微内核,一言以蔽之就是Eclipse equinox 是怎么运作的,此为上层应用的基础。  第6章讲述了RCP 界面框架(UI Framework)是如何运行的,对Eclipse源代码进行深入浅出的分析介绍,读者看罢,会不会叹为观止呢?架构之宏伟,代码之完美可遇而不可求也!  第7章介绍RCP 元数据。人们都说“数据是核心的核心”,且看Eclipse中的数据是如何被组织的。  第8章介绍了如何通过定制RCP应用的窗口创建特色RCP的应用,什么特色?拭目以待。  第9章讲述了RCP程序是如何定制应用程序外观的,想为你的程序增加美感的看官不可错过。  第10章讲述了如何美化工具栏和状态栏。  第11章讲述了如何打造自己RCP应用平台的启动栏。  第12章介绍如何为RCP应用程序创建边栏,从而通过边栏方便地访问应用小工具。  第13章是动态插件的介绍,什么是Eclipse动态插件呢?  第14章介绍了RCP 产品是如何国际化的。  第15章讲述了RCP 应用程序更新的机制。  附录A介绍OSGi原理和实战。  总之,本书试图从系统构架的角度分析Eclipse RCP平台主要的内部机制和实现方法,按Eclipse RCP应用系统运行时的代码执行顺序讲解涉及的源代码,从而方便开发人员学习Eclipse,掌握其内部构造。同时,给出了一些实例程序,讲解Eclipse RCP程序的定制方法。  只要您对Eclipse技术感兴趣,不管看官是刚涉入Eclipse RCP技术领域的初学者还是已经带领团体开发大型产品的技术牛人,相信读罢此书,都会受益良多。在学习技术的同时,也提升了架构设计能力。此外,在本书的写作过程中,同仁尽量参考源代码的英文注释说明,在读懂的基础上力求和包、类、方法的作者心心相印,道出设计的始末缘由。如果有遗漏、错误、不足之处,请看官不吝指正批评,感激不尽,谢谢。

内容概要

  本书从系统构架的角度分析Eclipse RCP平台主要的内部机制和实现方法,按Eclipse
RCP应用系统运行时的代码执行顺序讲解涉及的源代码,并给出了一些实例程序,讲解Eclipse
RCP程序的定制方法,便于开发人员学习Eclipse,掌握其内部构造。

作者简介

梁骞,毕业于华中理工大学计算机软件专业,现在是IBM资深软件开发工程师。从2005年开始从事基fEclipse的客户端软件开发,带领开发团队参加了Lotus Notes8.0以后的所有版本的开发工作,对基于Eclipse的客户端软件开发有着深入的研究和丰富的经验,曾发表多篇有关Eclipse开发的文章。 王威,曾任职IBM中国软件开发中心软件工程师,并参与LotusExpeditor 6平台以及Lotus Notes8/8.5中邮件、地址簿、日历等组件的开发。目前从事互联网相关的技术管理工作。 李伟,号弘真居士,IBM高级软件工程师。 高立娟,毕业于南开大学计算机科学与技术系,IBM中国开发中心高级软件工程师。2008年加入IBM中国开发中心,主要从事Lotus Notes软件的开发、性能优化等工作,对基于Eclipse的RCP应用开发和性能优化有丰富的经验。 李辉,IBM中国软件开发中心软件工程师,曾参与Lotus Notes 8.0邮件,地址薄以及Lotus Symphony文档编辑器的开发,目前从事J2EE相关的开发工作。

书籍目录

第1章 Eclipse RCP概述
 1.1 Eclipse历史背景
 1.2 Eclipse富客户端(Rich Client Platform)背景简介
 1.3 Eclipse体系结构
 1.4 未来展望
 1.5 本章小结
第2章 Eclipse RCP平台应用及发展现状
 2.1 开源的RCP应用
 2.2 商业的RCP应用
 2.3 本章小结
第3章 RCP平台架构概览
 3.1 内核架构
 3.2 应用界面(UI)架构
 3.3 本章小结
第4章 RCP启动器
 4.1 RCP启动器(Launcher)介绍
 4.2 设计精巧的RCP外壳程序
 4.2.1 介绍
 4.2.2 源代码组成及编译方法
 4.2.3 源代码分析
 4.3 简洁明快的RCP启动器插件
 4.4 本章小结
第5章 深入RCP内核
 5.1 RCP内核介绍
 5.1.1 背景简介
 5.1.2 项目简介
 5.2 内核启动全接触
 5.3 插件加载详解
 5.4 内核中插件事件机制分析
 5.5 内核面向服务的框架分析
 5.6 本章小结
 参考文献
第6章 RCP界面框架剖析
 6.1 RCP应用的基本框架
 6.2 RCP应用程序的入口(IApplication)及其启动过程
 6.3 界面(UI)创建过程及实现
 6.3.1 创建并启动工作台(Workbench)
 6.3.2 创建并打开工作台窗口(WorkbenchWindow)
 6.3.3 创建并激活页面(Page)
 6.4 本章小结
 参考文献
第7章 RCP元数据
 7.1 RCP元数据介绍
 7.2 数据区中的数据详析
 7.2.1 安装数据区
 7.2.2 配置数据区
 7.2.3 实例数据区
 7.3 数据区配置方法及应用
 7.3.1 数据区配置方法
 7.3.2 数据区配置应用:多用户安装
 7.4 本章小结
第8章 开发特色RCP应用窗口
 8.1 窗口形状随心变
 8.1.1 改变Shell的风格
 8.1.2 创建透明的不规则的形状
 8.1.3 创建窗口
 8.2 窗口标题栏我做主
 8.2.1 标题栏样式
 8.2.2 标题栏按钮
 8.3 本章小结
第9章 Presentation——定制应用外观的利器
 9.1 Presentation介绍
 9.2 通过Presentation创建独特的应用外观
 9.3 本章小结
第10章 美化工具栏和状态栏
 10.1 菜单、状态栏和工具栏加载过程分析
 10.1.1 为菜单栏和工具栏创建action
 10.1.2 RCP应用构造工具栏和状态栏的过程分析
 10.2 状态栏和工具栏定制实战
 10.2.1 定制状态栏
 10.2.2 定制CoolBar和ToolBar
 10.3 本章小结
第11章 启动栏——打造自己的RCP应用平台
 11.1 什么是启动栏
 11.2 启动栏扩展点定义
 11.3 启动栏实现实例
 11.4 添加新的启动项到启动栏
 11.5 本章小结
第12章 边栏——应用小工具集合地
 12.1 什么是边栏
 12.2 边栏扩展点定义
 12.3 边栏实现实例
 12.4 加入新的应用到边栏
 12.5 本章小结
第13章 动态插件
 13.1 动态世界的运转方式
 13.1.1 动态的Bundle
 13.1.2 监听Bundle生命周期变化
 13.1.3 监听框架生命周期变化
 13.2 动态世界的交互方式
 13.2.1 Whiteboard Pattern简介
 13.2.2 服务
 13.3 动态世界的行为准则
 13.3.1 感知运行环境的变化
 13.3.2 创建具有动态特性的插件
 13.4 本章小结
 参考文献
第14章 RCP产品国际化
 14.1 国际化概述
 14.2 插件国际化的实现方法
 14.3 本章小结
第15章 RCP应用更新机制
 15.1 创建更新站点
 15.1.1 site.xml高级配置介绍
 15.2 插件更新及安装实现机制
 15.2.1 Eclipse安装目录中与安装和更新有关的插件
 15.2.2 安装插件的过程分析
 15.3 通过配置文件管理更新方式
 15.4 本章小结
附录A OSGi原理和实战

章节摘录

版权页:   插图:   1.1 Eclipse历史背景 Eclipse是一个开源的项目(读者可以从其官方网站www.eclipse.org下载Eclipse SDK)。 2001年11月,IBM公司捐出价值4000万美元的源代码组建了eclipse.org联盟,并由该联盟负责这种工具的后续开发。最初参加该联盟的有IT巨头IBM、Borland、MERANT、QNX软件系统公司、Rational软件、RedHat、SuSE、TogetherSofi及Weggain。到2003年底,该联盟已经拥有多达80个成员。2004年2月2日,联盟董事会宣布转变eclipse.org为非营利的组织。 在过去,集成开发环境(IDE)经常将其应用范围限定在“开发、构建和调试”的周期之中。为了帮助IDE克服这种局限性,业界厂商合作创建了Eclipse平台。Eclipse允许在同- IDE中集成来自不同供应商的工具,并实现了工具之间的互操作性,从而显著改变了项目工作流程,使开发者可以专注于实际的嵌入式目标。 Eclipse框架的这种灵活性来源于其扩展机制(扩展与扩展点)。它们是在XML中定义的已知接口,并充当插件的耦合点。扩展点的范围包括从用在常规表述过滤器中的简单字符串,到一个Java类的描述。任何Eclipse插件定义的扩展点都能够被其他插件使用,反之,任何Eclipse插件也可以遵从其他插件定义的扩展点。除了解由扩展点定义的接口外,插件不知道它们通过扩展点提供的服务将如何被使用。 在Eclipse插件生态系统中,除了核心运行时(Micro Kernal,Eclipse微内核)之外的组件,都可以看成是插件。Eclipse宣称“所有的一切都是插件(Everything is plugin)!” 1.2 Eclipse富客户端(Rich Client Platform)背景简介 在Eclipse的早期,有些用户试图除了将Eclipse用于研发工具基础平台外,还用做更普遍的商业应用基础。他们认为一个IDE就是一个特别的富客户端应用。这就是开源研发的魅力所在,当这些用户试着用Eclipse作为通用富客户端时,他们就把这些想法建议反馈给Eclipse研发小组。就这样Eclipse经过了2.0到2.1的发展,不断收到来自社区的建议和反馈,终于到了一个通用化的阶段。在3.0版发行时(基于OSGi规范)Eclipse研发小组,觉得时机成熟,于是正式声明将Eclipse怍为通用的富客户端和IDE。 其实最早的反馈来自IBM Lotus研发小组,他们在Eclipse 3.0之前就意识到能够使用Eclipse来提供Workplace客户端的富客户端版本。从Eclipse 3.0到3.1, 3.2再到3.4,富客户端平台应用快速增长,同时也收到越来越多反馈完善提高。IBM Lotus Expeditor就是一个基于Eclipse技术、充分展现RCP技术的包括客户端和服务器端的平台框架。Eclipse RCP具有以下一些优点: 组件化( Modulability),Eclipse RCP应用都由插件(Plugin)组成,插件可以方便 地在不同应用间重用。 可扩展性(Extensibility),Eclipse RCP内核由几个很小的插件组成,上面所有的功能都通过开发插件实现,开发人员可以通过开发新的插件扩展全新的功能,也可以增强已有的功能,这种特性使得Eclipse RCP平台适合各种规模的应用程序的开发,同时方便地实现应用程序的扩展。 跨平台、可移植,Eclipse开始的设计目标就是运行在不同的平台上,它将不同平台的特性进行了很好的封装,这样我们开发的Eclipse RCP应用可以运行在不同平台上,甚至可以在嵌入式设备、掌上电脑上运行。 丰富的第三方组件支持,随着Eclipse RCP的成熟和流行,越来越多的开发人员加入到Eclipse插件的开发中来,我们可以很容易地从互联网上找到一些免费的插件资源满足自己的需求,这样可以极大地节省我们的开发成本。 便于与浏览器集成,Eclispe RCP内置有浏览器组件和应用服务器引擎,可以方便地集成B/S系统。 智能安装和更新支持,Eclipse基于插件的组件化设计使得我们部署应用时可以相当灵活,用户可以先安装很小的内核,然后根据需要安装需要的插件;Eclipse RCP内置了插件更新的模块,用户的RCP应用程序可以方便地实现自动更新升级。 在EclipseCon 2005大会上,美国国家航空航天管理局(NASA)的工作人员演示了一个很酷的RCP应用程序(如图1-1所示)。当时NASA在加利福尼亚州有个实验室叫Jet Propulsion Laboratory( JPL),负责火星探测计划,他们的管理用户界面就是一个EclipseRCP应用,通过这个应用,加利福尼亚州的工作人员就能够控制在火星上运行的火星车。在演示过程中,有人问为什么使用Eclipse,他们的回答是使用Eclipse这门技术,他们不用担心,而且节省了不少纳税人的钱,因为只需要集中资源研发控制火星车的应用就可以了。

编辑推荐

《Eclipse RCP技术内幕》介绍了不管您是刚涉入Eclipse RCP技术领域的初学者,还是已经带领团体开发大型产品的技术牛人,相信您都能从《Eclipse RCP技术内幕》中获益,在学习技术的同时,提升了架构设计能力。

图书封面

图书标签Tags

评论、评分、阅读与下载


    Eclipse RCP技术内幕 PDF格式下载


用户评论 (总计8条)

 
 

  •   我是看了这边书的序言之后购买的,大概的翻阅了本书目录和章节后,从第一章开始认真的看。最后给我的感觉就是:“本书的作者们(都是号称IBM的高级技术工程师)在教我们怎么用Eclipse的快捷键吗?”书中打着“技术内幕”的旗号,粘贴了大段的Eclipse RCP的源代码,然后几乎是一条条的告诉读者他们直接的调用关系是什么。话说,我通过F3,F4按钮看不就行了吗,用得着在书里面贴出200+行的代码一行行的说明吗?如果这也叫“技术内幕”。那么我可以用同样的方法写一本“Java技术内幕了”,只要有Eclipse工具,然后加上熟练使用快捷键,我估计可以写出几万“页”的书。真心觉得,书中的各位“资深、居士”们,我也在这里“双掌合十”的奉劝大家:“有空写几篇安装配置Eclipse的博客就可以了,何必费这么大劲写一本“技术内幕”?”
  •   这本书简直就是上图片和贴一些没有太多意义代码,讲的很肤浅,而且都是一概而过,太失败了
  •   不到300页,卖43元,有点贵了,不过内容还可以
  •   内容是C的 ,和java没什么关系,没怎么看
  •   我买了此书,之前我我参加过一个plugin的的项目,但是还是没有从这本书中收获到太多。整本书所讲述的内容和我们所了解的java基本知识,没有很明确的联系起来。初学者或者仅仅做过web项目的人根本看不懂。初学者建议看--Eclipse开发笔记
  •   还没看那,相信不错
  •   书不错 初学可能不太适用
  •   eclipse rcp
 

250万本中文图书简介、评论、评分,PDF格式免费下载。 第一图书网 手机版

京ICP备13047387号-7