rcp(富客戶機平台)

簡介
RCP,Rich Client Platform,富客戶機平台
Rich Client是一個相對的概念,主要是針對時下廣泛的基於WEB的套用,因為這種客戶端(也即現有的各種瀏覽器)的運行環境沒有提供一個很好的組件模型和互動模型致使這種套用的界面的同服務之間的互動變得很奇怪,每一次互動都需要重新組織出整個界面,而這個界面的組織基本在伺服器端完成,也所以致使表現層的邏輯居於伺服器端,所以稱這種為Thin Client,而相對的則是Rich Client。
目前來說,在技術上Rich Client還沒有一個甚或是兩個大一統而且又成熟的標準技術出來,所以Rich Client只能說是一種架構方式,其特點便是服務同表現完全的物理分離,表現邏輯完全由客戶端來負責,這是最關鍵的一點。但我認為一定要同時兼顧原有WEB套用的零部署等特點。
組件
核心平台(啟動Eclipse,運行外掛程式
OSGi(標準集束框架)
SWT(可移植構件工具包
JFace(檔案緩衝,文本處理,文本編輯器)
Eclipse工作檯(即Workbench ,包含視圖(views)、編輯器(editors)、視角(perspectives)、和嚮導(wizards))
Eclipse RCP
Eclipse RCP是一項位於Eclipse平台核心的功能。大多數人想到Eclipse時,會想到Java集成開發環境(IDE)。如果將Eclipse中關於IDE的內容剝去,剩下的就是一個提供基本工作檯功能的核心,包括對可移動以及可疊加的視窗組件(編輯器和視圖)、選單、工具列、按鈕、表格、樹形結構等等的支持,而這個核心就是EclipseRCP。
個人理解EclipseRCP就是由外掛程式開發轉向桌面套用開發,構建最小化的Eclipse平台(8M)運行你的桌面套用,不必再為程式框架煩心,擺脫失敗的AWT和Swing,讓程式擁有專業級效果,而實現又很簡單、很優雅。
RCP提供了豐富的界面控制項,這使得基於Java開發桌面套用也變得容易了很多,雖然仍然不能和基於VB、Delphi進行相比。對於開發者而言,儘管使用RCP也是為了開發桌面套用,但RCP給開發者帶來的更多的感覺是在它充分發揮了外掛程式化系統的優勢。
RCP可以視為基於OSGi(Open Service Gateway Initiative)構建外掛程式化系統的最佳實踐的指導,從RCP的設計中,可以學習到如何將套用做到模組化、將套用做到動態化,甚至還可以學習到如何自動生成界面這樣的設計思想。RCP可以看做是基於OSGi做外掛程式化套用系統的最佳實踐,其中的不少設計方法甚至都可以整理成為基於OSGi做外掛程式化套用系統的設計模 對RCP表示崇高的敬意,大師之作,不同凡響。
EclipseRCP為應用程式開發人員提供了:
應用程式和特性的一致且本地的外觀;
公共應用程式服務,例如視窗管理、更新管理、幫助和選擇管理;
本地的外觀,利用Windows、MacOSX、Linux、Solaris、HP-UX、AⅨ和嵌入式設備上的實際平台視窗部件;
標準化的組件模型
普及的可擴展性;
整合的更新機制;
頂級開發工具(Eclipse軟體開發包(SDK)是世界級的軟體開發環境)。
EclipseRCP項目用SWT圖形庫和工具包取代了Java標準中的AWT和Swing。SWT直接調用了作業系統的圖形庫,從而使得Java應用程式的LOOK&Feel與作業系統的習慣完全一致;更為重要的是,對本地方法的直接調用大幅度的提高了基於SWT的Java應用程式的運行速度。SWT的缺點主要在於兩點:不是Java語言標準;支持的平台太少。
一個EclipseRCP可分為如下5個部分:
⑴Workbench工作檯
為Eclipse提供用戶界面。它是使用SWT(StandardWidgetToolkit)和一個更高級的API(JFace)來構建的;SWT是Java的Swing/AWTGUIAPI的非標準替代者,JFace則建立在SWT基礎上,提供用戶界面組件。
⑵Workspace工作區
工作區是負責管理用戶資源的外掛程式。它包括用戶創建的項目、項目中的檔案,以及檔案變更和其它資源。工作區還負責通知其它外掛程式關於資源變更的信息,比如檔案創建、刪除或者變更。
⑶Help幫助系統
幫助組建具有與Eclipse平台本身相當的可擴展能力。與外掛程式向Eclipse添加功能相同,幫助提供一個附加的導航結構,允許工具以HTML檔案的形式添加文檔。
⑷Team團隊支持系統
團隊支持組件負責提供版本控制配置管理支持。它根據需要添加視圖,以允許用戶與所有使用的任何版本控制系統互動。大多數外掛程式都不需要與團隊支持組件互動,除非它們提供版本控制服務。
⑸PlatformRuntime運行平台
平台運行庫是整個Eclipse的核心,它在啟動時檢查已安裝了哪些外掛程式,並創建關於它們的註冊表信息。為降低啟動時間和資源使用,它在實際需要某個外掛程式的時候才載入該外掛程式。除了核心外,其它每樣東西都是作為外掛程式來實現的。

相關詞條

熱門詞條

聯絡我們