Eclipse RCP應用開發(概念)


學習Eclipse RCP應用開發,對其中一些相關的概念需要了解。

讓我們在講解概念前先思考兩個問題。

問題一、什么是Eclipse

大部分同學會回答eclipse是IBM公司開發的java集成開發環境(IDE)

問題二、Eclipse體系結構是什么?

這個問題可能有點難回答。既然是一個開發環境,又能有什么體系結構?最多就是開發環境和一些插件而已。

 

按照上面的想法,就太小看Eclipse了,其實Eclipse由Eclipse平台、JDT、PDE以及其它插件這幾個部分組成。以下將對這幾個概念逐一講解。

Eclipse平台:簡單的說Eclipse平台就是一個通用的基礎架構平台,從結構可以分為核心core與用戶界面UI兩層。更細化一些,Eclipse由以下幾個部分組成。

 

(1)平台核心(platform kernel):與用戶界面無關的基礎結構,包括平台運行時(platform runtime),插件管理,工作空間(workspace)和資源管理以及版本和配置管理。

(2)工作台(workbench):工作台指的是用戶工作界面。主要包括VIEW、Editor與Perspectives。

 

(3)工作區(workspace):由一些配置數據即元數據和用戶項目組成

(4)團隊組件(tram component)

(5)說明組件(help)

根據eclipse白皮書的說法,除 platform runtime外,所有的功能都是由插件組成。只不過eclipse平台自帶的是核心插件,用戶開發的是新的功能插件

JDT:JDT(Java Development Tooling)也就是我們理解的eclipse平台下的java開發工具。

PDE:PDE(Plug-in Development Environment)插件開發環境,PDE提供了一系列的工具,可以用於建立、開發、測試、調試、發布Eclipse的插件。如下圖。

 

 

SWT-JFACE

通過以上的介紹,相信對eclipse體系結構,有了簡單的了解。但說到eclipse的開發,還要引申出兩個工具箱,SWT,JFace

前面說過eclipse平台的UI界面是圍繞着workbench呈現給用戶,那怎樣基於workbench開發呢?workbench實際是通過swt,Jface來開發的,也就是說workbench基於SWT和JFACE兩個工具箱,用戶可以通過使用SWT,JFACE擴展和開發插件。

 

SWT:SWT(Standard Widget Toolkit, 標准圖形工具箱)是用java開發的GUI工具箱,即控件集合,SWT可以對操作系統進行判斷,操作系統窗口平台有的控件,SWT會直接使用如Button,Text等,操作系統沒有的控件SWT則會去主動繪制。

 

JFACE:JFACE是一套基於SWT的工具箱,對SWT進行了再次包裝。

 

 

因為Eclipse的開發都在workbench上,那再理清一下workbench的概念,workbench基於SWT,JFACE,也就是workbench是由SWT與JFACE開發出來的,workbench主要包括,View, Editor, Perspectives。

Editor: 編輯器允許用戶打開、編輯和保存對象。

View:輔助編輯器,提供信息。

Perspectives:組合Editor與View並布局在屏幕上,每個透視圖有自己的視圖和編輯器。工作台可以有多個獨立的透視圖,但只能有一個是激活的,可以通過切換查看不同透視圖。

另外再解釋幾個概念:

RCP:RCP(Rich Client Platform)富客戶端平台,指的是一種C/S應用軟件的公用基礎結構實現,Rich的概念是相對與B/S應用軟件的瀏覽器而言。因此基於Eclipse RCP的應用開發,通俗一點說就是基於eclipse體系的富客戶端平台開發,更通俗一點說就是開發一個和Eclipse長的很像的客戶端。

 

OGSI:OSGI(Open Service Gateway Initiative)一個標准,基於此標准實現的框架可以輕松的構建模塊化,動態化的系統。

最典型的基於OSGI標准的框架就屬Equinox(org.eclipse.osgi),從包名就可以看出Equinox是eclipse的OSGI框架。

 

SWING與AWT:簡單一點說,這兩個東西就是SUN公司與IBM公司的SWT與JFace對抗的圖形工具箱,至於優缺點比較網上對比的口水文章太多,這里就不做評價。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM