出版時間:2012-5 出版社:電子工業(yè)出版社 作者:梁騫 主編,王威 等編著 頁數(shù):300
Tag標簽:無
前言
前言 列位看官,拿起本書,緣由心生,表明您對技術(shù)感興趣,對Eclipse的相關技術(shù)感興趣。那您要仔細看了,本書絕不會辜負看官求知的殷切之心、拳拳之意?! 【壠鹣氘敵?,在完成了對Lotus Notes Client 8 & Expeditor 等產(chǎn)品的研發(fā)之后,技術(shù)團隊的兄弟幾個做總結(jié)時頗有興致、相聊甚歡。帶頭大哥忽然非常感慨,言道“自從Eclipse利器獨步天下以來,Eclipse的技術(shù)書籍可謂汗牛充棟,林林總總,不可說,不盡說?。∪荒阄铱稍娨槐尽毠戮艅Α频慕^世典籍嗎?”大家皆搖頭嘆息。事實如此,絕大多數(shù)有關Eclipse的書籍都是介紹Eclipse的使用或者Eclipse插件的開發(fā),很少有中文書籍深入Eclipse的內(nèi)部講解它的實現(xiàn)機制和方法?! Τ鯇W者來說這種淺嘗輒止的介紹尚可,然隨著我國軟件業(yè)的發(fā)展,我國的軟件開發(fā)已經(jīng)逐漸從應用軟件開發(fā)向系統(tǒng)軟件開發(fā)過渡,這就要求開發(fā)人員更多地掌握復雜系統(tǒng)的構(gòu)造方法。學習世界上一些優(yōu)秀的開源系統(tǒng),研究其實現(xiàn)機制,是提高我們能力的一個最為快捷的方法。由于大型開源系統(tǒng)的復雜性,一般開發(fā)人員試圖研究它們時往往會發(fā)現(xiàn)無從下手,心有余而力不足?! ⒚鳠舳者h帆,顯慈悲達濟天下?! ∮谑亲珜懸槐緦clipse技術(shù)從業(yè)人員實實在在受用、既能知其然又能知其所以然、頗有深度和魅力的書籍就成了項目組成員的共識?! ‰S喜,功德無量?! ÷詳⒖垂偃舴浅鯇W者,請略過前兩章的介紹,直接從第3章看起。作者本打算直接從第3章開講,但考慮初學者的感受,還是介紹了Eclipse 平臺和RCP技術(shù)的概況等,書中多引用IBM Lotus Notes 客戶端等產(chǎn)品的例子。初學聞之,嘆之強大,激發(fā)興趣,亦是美事?! 〉?章講述了RCP平臺的架構(gòu),此為靜態(tài)的分析,結(jié)構(gòu)性的介紹?! 〉?章講述了RCP平臺是如何啟動的,此為動態(tài)的分析切入,看官不可不察焉! 第5章講述了RCP的核心運行時或曰微內(nèi)核,一言以蔽之就是Eclipse equinox 是怎么運作的,此為上層應用的基礎。 第6章講述了RCP 界面框架(UI Framework)是如何運行的,對Eclipse源代碼進行深入淺出的分析介紹,讀者看罷,會不會嘆為觀止呢?架構(gòu)之宏偉,代碼之完美可遇而不可求也! 第7章介紹RCP 元數(shù)據(jù)。人們都說“數(shù)據(jù)是核心的核心”,且看Eclipse中的數(shù)據(jù)是如何被組織的?! 〉?章介紹了如何通過定制RCP應用的窗口創(chuàng)建特色RCP的應用,什么特色?拭目以待?! 〉?章講述了RCP程序是如何定制應用程序外觀的,想為你的程序增加美感的看官不可錯過?! 〉?0章講述了如何美化工具欄和狀態(tài)欄?! 〉?1章講述了如何打造自己RCP應用平臺的啟動欄?! 〉?2章介紹如何為RCP應用程序創(chuàng)建邊欄,從而通過邊欄方便地訪問應用小工具?! 〉?3章是動態(tài)插件的介紹,什么是Eclipse動態(tài)插件呢? 第14章介紹了RCP 產(chǎn)品是如何國際化的?! 〉?5章講述了RCP 應用程序更新的機制?! 「戒汚介紹OSGi原理和實戰(zhàn)?! 】傊緯噲D從系統(tǒng)構(gòu)架的角度分析Eclipse RCP平臺主要的內(nèi)部機制和實現(xiàn)方法,按Eclipse RCP應用系統(tǒng)運行時的代碼執(zhí)行順序講解涉及的源代碼,從而方便開發(fā)人員學習Eclipse,掌握其內(nèi)部構(gòu)造。同時,給出了一些實例程序,講解Eclipse RCP程序的定制方法?! ≈灰鷮clipse技術(shù)感興趣,不管看官是剛涉入Eclipse RCP技術(shù)領域的初學者還是已經(jīng)帶領團體開發(fā)大型產(chǎn)品的技術(shù)牛人,相信讀罷此書,都會受益良多。在學習技術(shù)的同時,也提升了架構(gòu)設計能力。此外,在本書的寫作過程中,同仁盡量參考源代碼的英文注釋說明,在讀懂的基礎上力求和包、類、方法的作者心心相印,道出設計的始末緣由。如果有遺漏、錯誤、不足之處,請看官不吝指正批評,感激不盡,謝謝。
內(nèi)容概要
本書從系統(tǒng)構(gòu)架的角度分析Eclipse RCP平臺主要的內(nèi)部機制和實現(xiàn)方法,按Eclipse
RCP應用系統(tǒng)運行時的代碼執(zhí)行順序講解涉及的源代碼,并給出了一些實例程序,講解Eclipse
RCP程序的定制方法,便于開發(fā)人員學習Eclipse,掌握其內(nèi)部構(gòu)造。
作者簡介
梁騫,畢業(yè)于華中理工大學計算機軟件專業(yè),現(xiàn)在是IBM資深軟件開發(fā)工程師。從2005年開始從事基fEclipse的客戶端軟件開發(fā),帶領開發(fā)團隊參加了Lotus Notes8.0以后的所有版本的開發(fā)工作,對基于Eclipse的客戶端軟件開發(fā)有著深入的研究和豐富的經(jīng)驗,曾發(fā)表多篇有關Eclipse開發(fā)的文章。 王威,曾任職IBM中國軟件開發(fā)中心軟件工程師,并參與LotusExpeditor 6平臺以及Lotus Notes8/8.5中郵件、地址簿、日歷等組件的開發(fā)。目前從事互聯(lián)網(wǎng)相關的技術(shù)管理工作。 李偉,號弘真居士,IBM高級軟件工程師。 高立娟,畢業(yè)于南開大學計算機科學與技術(shù)系,IBM中國開發(fā)中心高級軟件工程師。2008年加入IBM中國開發(fā)中心,主要從事Lotus Notes軟件的開發(fā)、性能優(yōu)化等工作,對基于Eclipse的RCP應用開發(fā)和性能優(yōu)化有豐富的經(jīng)驗。 李輝,IBM中國軟件開發(fā)中心軟件工程師,曾參與Lotus Notes 8.0郵件,地址薄以及Lotus Symphony文檔編輯器的開發(fā),目前從事J2EE相關的開發(fā)工作。
書籍目錄
第1章 Eclipse RCP概述
1.1 Eclipse歷史背景
1.2 Eclipse富客戶端(Rich Client Platform)背景簡介
1.3 Eclipse體系結(jié)構(gòu)
1.4 未來展望
1.5 本章小結(jié)
第2章 Eclipse RCP平臺應用及發(fā)展現(xiàn)狀
2.1 開源的RCP應用
2.2 商業(yè)的RCP應用
2.3 本章小結(jié)
第3章 RCP平臺架構(gòu)概覽
3.1 內(nèi)核架構(gòu)
3.2 應用界面(UI)架構(gòu)
3.3 本章小結(jié)
第4章 RCP啟動器
4.1 RCP啟動器(Launcher)介紹
4.2 設計精巧的RCP外殼程序
4.2.1 介紹
4.2.2 源代碼組成及編譯方法
4.2.3 源代碼分析
4.3 簡潔明快的RCP啟動器插件
4.4 本章小結(jié)
第5章 深入RCP內(nèi)核
5.1 RCP內(nèi)核介紹
5.1.1 背景簡介
5.1.2 項目簡介
5.2 內(nèi)核啟動全接觸
5.3 插件加載詳解
5.4 內(nèi)核中插件事件機制分析
5.5 內(nèi)核面向服務的框架分析
5.6 本章小結(jié)
參考文獻
第6章 RCP界面框架剖析
6.1 RCP應用的基本框架
6.2 RCP應用程序的入口(IApplication)及其啟動過程
6.3 界面(UI)創(chuàng)建過程及實現(xiàn)
6.3.1 創(chuàng)建并啟動工作臺(Workbench)
6.3.2 創(chuàng)建并打開工作臺窗口(WorkbenchWindow)
6.3.3 創(chuàng)建并激活頁面(Page)
6.4 本章小結(jié)
參考文獻
第7章 RCP元數(shù)據(jù)
7.1 RCP元數(shù)據(jù)介紹
7.2 數(shù)據(jù)區(qū)中的數(shù)據(jù)詳析
7.2.1 安裝數(shù)據(jù)區(qū)
7.2.2 配置數(shù)據(jù)區(qū)
7.2.3 實例數(shù)據(jù)區(qū)
7.3 數(shù)據(jù)區(qū)配置方法及應用
7.3.1 數(shù)據(jù)區(qū)配置方法
7.3.2 數(shù)據(jù)區(qū)配置應用:多用戶安裝
7.4 本章小結(jié)
第8章 開發(fā)特色RCP應用窗口
8.1 窗口形狀隨心變
8.1.1 改變Shell的風格
8.1.2 創(chuàng)建透明的不規(guī)則的形狀
8.1.3 創(chuàng)建窗口
8.2 窗口標題欄我做主
8.2.1 標題欄樣式
8.2.2 標題欄按鈕
8.3 本章小結(jié)
第9章 Presentation——定制應用外觀的利器
9.1 Presentation介紹
9.2 通過Presentation創(chuàng)建獨特的應用外觀
9.3 本章小結(jié)
第10章 美化工具欄和狀態(tài)欄
10.1 菜單、狀態(tài)欄和工具欄加載過程分析
10.1.1 為菜單欄和工具欄創(chuàng)建action
10.1.2 RCP應用構(gòu)造工具欄和狀態(tài)欄的過程分析
10.2 狀態(tài)欄和工具欄定制實戰(zhàn)
10.2.1 定制狀態(tài)欄
10.2.2 定制CoolBar和ToolBar
10.3 本章小結(jié)
第11章 啟動欄——打造自己的RCP應用平臺
11.1 什么是啟動欄
11.2 啟動欄擴展點定義
11.3 啟動欄實現(xiàn)實例
11.4 添加新的啟動項到啟動欄
11.5 本章小結(jié)
第12章 邊欄——應用小工具集合地
12.1 什么是邊欄
12.2 邊欄擴展點定義
12.3 邊欄實現(xiàn)實例
12.4 加入新的應用到邊欄
12.5 本章小結(jié)
第13章 動態(tài)插件
13.1 動態(tài)世界的運轉(zhuǎn)方式
13.1.1 動態(tài)的Bundle
13.1.2 監(jiān)聽Bundle生命周期變化
13.1.3 監(jiān)聽框架生命周期變化
13.2 動態(tài)世界的交互方式
13.2.1 Whiteboard Pattern簡介
13.2.2 服務
13.3 動態(tài)世界的行為準則
13.3.1 感知運行環(huán)境的變化
13.3.2 創(chuàng)建具有動態(tài)特性的插件
13.4 本章小結(jié)
參考文獻
第14章 RCP產(chǎn)品國際化
14.1 國際化概述
14.2 插件國際化的實現(xiàn)方法
14.3 本章小結(jié)
第15章 RCP應用更新機制
15.1 創(chuàng)建更新站點
15.1.1 site.xml高級配置介紹
15.2 插件更新及安裝實現(xiàn)機制
15.2.1 Eclipse安裝目錄中與安裝和更新有關的插件
15.2.2 安裝插件的過程分析
15.3 通過配置文件管理更新方式
15.4 本章小結(jié)
附錄A OSGi原理和實戰(zhàn)
章節(jié)摘錄
版權(quán)頁: 插圖: 1.1 Eclipse歷史背景 Eclipse是一個開源的項目(讀者可以從其官方網(wǎng)站www.eclipse.org下載Eclipse SDK)。 2001年11月,IBM公司捐出價值4000萬美元的源代碼組建了eclipse.org聯(lián)盟,并由該聯(lián)盟負責這種工具的后續(xù)開發(fā)。最初參加該聯(lián)盟的有IT巨頭IBM、Borland、MERANT、QNX軟件系統(tǒng)公司、Rational軟件、RedHat、SuSE、TogetherSofi及Weggain。到2003年底,該聯(lián)盟已經(jīng)擁有多達80個成員。2004年2月2日,聯(lián)盟董事會宣布轉(zhuǎn)變eclipse.org為非營利的組織。 在過去,集成開發(fā)環(huán)境(IDE)經(jīng)常將其應用范圍限定在“開發(fā)、構(gòu)建和調(diào)試”的周期之中。為了幫助IDE克服這種局限性,業(yè)界廠商合作創(chuàng)建了Eclipse平臺。Eclipse允許在同- IDE中集成來自不同供應商的工具,并實現(xiàn)了工具之間的互操作性,從而顯著改變了項目工作流程,使開發(fā)者可以專注于實際的嵌入式目標。 Eclipse框架的這種靈活性來源于其擴展機制(擴展與擴展點)。它們是在XML中定義的已知接口,并充當插件的耦合點。擴展點的范圍包括從用在常規(guī)表述過濾器中的簡單字符串,到一個Java類的描述。任何Eclipse插件定義的擴展點都能夠被其他插件使用,反之,任何Eclipse插件也可以遵從其他插件定義的擴展點。除了解由擴展點定義的接口外,插件不知道它們通過擴展點提供的服務將如何被使用。 在Eclipse插件生態(tài)系統(tǒng)中,除了核心運行時(Micro Kernal,Eclipse微內(nèi)核)之外的組件,都可以看成是插件。Eclipse宣稱“所有的一切都是插件(Everything is plugin)!” 1.2 Eclipse富客戶端(Rich Client Platform)背景簡介 在Eclipse的早期,有些用戶試圖除了將Eclipse用于研發(fā)工具基礎平臺外,還用做更普遍的商業(yè)應用基礎。他們認為一個IDE就是一個特別的富客戶端應用。這就是開源研發(fā)的魅力所在,當這些用戶試著用Eclipse作為通用富客戶端時,他們就把這些想法建議反饋給Eclipse研發(fā)小組。就這樣Eclipse經(jīng)過了2.0到2.1的發(fā)展,不斷收到來自社區(qū)的建議和反饋,終于到了一個通用化的階段。在3.0版發(fā)行時(基于OSGi規(guī)范)Eclipse研發(fā)小組,覺得時機成熟,于是正式聲明將Eclipse怍為通用的富客戶端和IDE。 其實最早的反饋來自IBM Lotus研發(fā)小組,他們在Eclipse 3.0之前就意識到能夠使用Eclipse來提供Workplace客戶端的富客戶端版本。從Eclipse 3.0到3.1, 3.2再到3.4,富客戶端平臺應用快速增長,同時也收到越來越多反饋完善提高。IBM Lotus Expeditor就是一個基于Eclipse技術(shù)、充分展現(xiàn)RCP技術(shù)的包括客戶端和服務器端的平臺框架。Eclipse RCP具有以下一些優(yōu)點: 組件化( Modulability),Eclipse RCP應用都由插件(Plugin)組成,插件可以方便 地在不同應用間重用。 可擴展性(Extensibility),Eclipse RCP內(nèi)核由幾個很小的插件組成,上面所有的功能都通過開發(fā)插件實現(xiàn),開發(fā)人員可以通過開發(fā)新的插件擴展全新的功能,也可以增強已有的功能,這種特性使得Eclipse RCP平臺適合各種規(guī)模的應用程序的開發(fā),同時方便地實現(xiàn)應用程序的擴展。 跨平臺、可移植,Eclipse開始的設計目標就是運行在不同的平臺上,它將不同平臺的特性進行了很好的封裝,這樣我們開發(fā)的Eclipse RCP應用可以運行在不同平臺上,甚至可以在嵌入式設備、掌上電腦上運行。 豐富的第三方組件支持,隨著Eclipse RCP的成熟和流行,越來越多的開發(fā)人員加入到Eclipse插件的開發(fā)中來,我們可以很容易地從互聯(lián)網(wǎng)上找到一些免費的插件資源滿足自己的需求,這樣可以極大地節(jié)省我們的開發(fā)成本。 便于與瀏覽器集成,Eclispe RCP內(nèi)置有瀏覽器組件和應用服務器引擎,可以方便地集成B/S系統(tǒng)。 智能安裝和更新支持,Eclipse基于插件的組件化設計使得我們部署應用時可以相當靈活,用戶可以先安裝很小的內(nèi)核,然后根據(jù)需要安裝需要的插件;Eclipse RCP內(nèi)置了插件更新的模塊,用戶的RCP應用程序可以方便地實現(xiàn)自動更新升級。 在EclipseCon 2005大會上,美國國家航空航天管理局(NASA)的工作人員演示了一個很酷的RCP應用程序(如圖1-1所示)。當時NASA在加利福尼亞州有個實驗室叫Jet Propulsion Laboratory( JPL),負責火星探測計劃,他們的管理用戶界面就是一個EclipseRCP應用,通過這個應用,加利福尼亞州的工作人員就能夠控制在火星上運行的火星車。在演示過程中,有人問為什么使用Eclipse,他們的回答是使用Eclipse這門技術(shù),他們不用擔心,而且節(jié)省了不少納稅人的錢,因為只需要集中資源研發(fā)控制火星車的應用就可以了。
編輯推薦
《Eclipse RCP技術(shù)內(nèi)幕》介紹了不管您是剛涉入Eclipse RCP技術(shù)領域的初學者,還是已經(jīng)帶領團體開發(fā)大型產(chǎn)品的技術(shù)牛人,相信您都能從《Eclipse RCP技術(shù)內(nèi)幕》中獲益,在學習技術(shù)的同時,提升了架構(gòu)設計能力。
圖書封面
圖書標簽Tags
無
評論、評分、閱讀與下載
Eclipse RCP技術(shù)內(nèi)幕 PDF格式下載