最近正在學習RCP插件開發,我用的是基于Eclipse 3.2 SDK的,最近事情比較多,我也不知道多久能寫完,有時間我就會寫到這里。
下面先讓我來給大家的簡單的介紹一下RCP!
一、RCP簡介
RCP
的全稱是
Rich Client Platform
(
RCP
可以看成是
Eclipse
的插件,只不過是脫離
Eclipse
運行的),可以把它看成是
Eclipse
的骨架,其他的插件是器官與血肉。我們可以把這個骨架拿過來填入自己的器官和血肉,這樣就創造了我們自己的“
Eclipse
”!
使用
RCP
來開發
Java
桌面應用可以把開發的焦點轉移到系統的邏輯功能上,而不是界面上。我們自己的程序可以繼承
Eclipse
的風格與功能,而不用自己去編寫諸如菜單,工具條,子窗口等等的界面元素。甚至我們可以把
Eclipse
本身的功能插件,比如
Console
拿來放在自己的程序里,這樣就避免了很多重復開發。
人們可以直接為
Eclipse
構建插件,然后出售這些插件來賺錢,因為插件可以使用商業許可證發行。事實上我們建立
Eclipse
公共許可證,就是為了讓
Eclipse
能很好的被商業采用,從而可以用它來賺錢,
Eclipse
的所有成員公司基本都是商業軟件提供商。目前全球有上百萬開發人員在使用
Eclipse,
因此中國開發人員完全可以構建有價值的插件和工具,然后進行銷售。
富客戶端平臺
(RCP)
目前是比較流行的應用開發模式,
Eclipse
是如何支持富客戶端的?
在
Eclipse
的早期,有些用戶試圖除了將
Eclipse
用于開發工具基礎平臺外,還用作更普遍的商業應用基礎。他們認為一個
IDE
就是一個特殊的富客戶端應用。這就是開放源碼開發的魅力所在,當這些用戶試著用
Eclipse
作為通用富客戶端時,他們就把這些想法建議反饋給
Eclipse
開發小組。就這樣
Eclipse
經過了
2.0
到
2.1
的發展,不斷收到來自社區的建議和反饋,終于到了一個通用化的階段。在
3.0
版發行時,正式聲明將
Eclipse
作為通用的富客戶端和
IDE
。
從
Eclipse 3.0
到
3.1
再到
3.2,
我們看到富客戶端平臺應用的快速增長。在國外較早地成功使用
RCP
應用之一是在
EclipseCon 2005
上的一個演示,演示的是美國國家航空航天管理局
(NASA)
的一個項目,當時
NASA
在加利福尼亞州有個實驗室叫
Jet Propulsion Laboratory (JPL)
,負責火星探測計劃,他們的管理用戶界面就是一個
Eclipse RCP
應用,通過這個應用,加利福尼亞州的工作人員就可以控制在火星上運行的火星車。在演示過程中,有人問為什么使用
Eclipse,
回答是,使用
Eclipse
這門技術,他們不用擔心,而且還節省了不少納稅人的錢,因為他們只需要集中資源開發控制火星車的應用就可以了。
二、國內現狀
目前在國內
RCP
應用也逐漸發展和壯大起來,
RCP
有希望扭轉
Java
桌面應用的頹勢。如
Jlibrary
是一款開源的
CMS
系統,它將自己的
CMS
編輯客戶端放在
Eclipse RCP
上來做。
NOA office
的
RCP
應用,能夠讓
open office
操作集中到
RCP
上來。
Nomad PIM
是一款簡易的個人信息管理系統,可以對個人信息例如日程、支出、日記等進行管理。目前的各種管理系統已經開始使用
Eclipse RCP
來進行開發了,使用的人數也越來越多了。如目前的電信、電力系統等行業已經開始應用
Eclipse RCP
開發的桌面系統了。
P.S.:
以下是在國外網站上看到的介紹RCP的部分內容
Eclipse Rich Client Platform (RCP) is a runtime platform for delivering your Java applications on multiple platforms. RCP is far more than just a widget toolkit; it is effectively rich client "middleware" that provides a comprehensive platform for building and deploying applications that are modular, extensible, and updatable.
Eclipse Rich Client Platform (RCP) originated as an effort to formalize what some organizations had been already been doing with earlier versions: using the richness of the open source Eclipse platform to deliver high quality applications that provide rich user experiences. Since then, numerous organizations (including NASA, IBM, and Novell) have started to leverage Eclipse as the delivery platform for their own applications. As Eclipse continues to evolve, so does the support for building rich client applications.