[轉(zhuǎn)帖]RCP能否取代WEB技術(shù)?
作者:IT168 IT168 卒
隨著Eclipse IDE的出現(xiàn)和不斷發(fā)展,Java社區(qū)又進(jìn)入了一個新的春天,Eclipse強(qiáng)大而又靈活擴(kuò)展的插件機(jī)制成為了吸引開發(fā)人員的天堂,使其成為一款優(yōu)秀的IDE。Eclipse項(xiàng)目的初衷并不打算構(gòu)建成一個胖客戶端平臺(RCP),而只是想構(gòu)建一個集成開發(fā)工具的平臺。Eclipse RCP始于Eclipse2.1版本,到了3.0版本的時(shí)候,Eclipse作為一個RCP邁出了巨大的一步, 在3.0后的版本,Eclipse項(xiàng)目小組廢除了以前的插件管理模型,通過引入OSGi(Open Service Gateway Initiative) R4標(biāo)準(zhǔn)來實(shí)現(xiàn)插件的動態(tài)安裝,移除和更新,這使Eclipse IDE實(shí)現(xiàn)了革命性的變革。Eclipse3.1版本正式的引入了RCP發(fā)布功能,一時(shí)間RCP技術(shù)成為Java開發(fā)人員中最流行的詞匯,那究竟什么是Eclipse RCP呢?
什么是Eclipse RCP?
Eclipse RCP (Rich Client Platform)是基于Eclipse項(xiàng)目的一個開發(fā)胖客戶端應(yīng)用程序的框架,它提供了一個通用的 Eclipse 工作臺,允許開發(fā)人員擴(kuò)展和構(gòu)造強(qiáng)大的,跨平臺應(yīng)用程序。
RCP和Plug-in工程的差別并不大,插件項(xiàng)目使用的工作臺是Eclipse IDE本身;對于構(gòu)建RCP項(xiàng)目,開發(fā)人員可以定義應(yīng)用程序外觀,商標(biāo)和其它Eclipse基礎(chǔ)組件等,實(shí)現(xiàn)自己的桌面應(yīng)用程序。
作者最開始接觸到RCP的時(shí)候并沒有感覺到RCP的強(qiáng)大之處,只覺得用RCP開發(fā)出來的應(yīng)用程序的界面比用Swing開發(fā)出來的應(yīng)用程序界面漂亮許多。但隨著需求變得復(fù)雜,需要實(shí)現(xiàn)更多的功能,RCP的易開發(fā)性和強(qiáng)大的插件管理功能就顯得越來越突出,真正有一種做產(chǎn)品的感覺,著實(shí)讓人興奮。事實(shí)上使用RCP開發(fā)的產(chǎn)品很多,如IBM Lotus Workspace, Eclipse trader, NASA Maestro,而Eclipse3.1本身就是使用RCP開發(fā)出的杰出代表產(chǎn)品。
Web和Eclipse RCP技術(shù)孰優(yōu)孰劣?
隨著RCP的強(qiáng)勢出現(xiàn),許多開發(fā)人員自然會拿Eclipse RCP技術(shù)和現(xiàn)在流行的Web技術(shù)對比,孰優(yōu)孰劣?如果撇開業(yè)務(wù)需求,單單要對比兩種技術(shù)是困難的,我們就主要對比兩種技術(shù)如何適應(yīng)業(yè)務(wù)的需求變化。
Web技術(shù)的出現(xiàn),不僅為Internet的廣泛普及起到關(guān)鍵性的作用,而且還在Intranet、電子商務(wù)等其他相關(guān)計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)用技術(shù)發(fā)展中起到關(guān)鍵作用,特別是Web動態(tài)技術(shù).例如J2EE平臺的Servlet技術(shù),Servlet容器會將來自于客戶端的HTTP請求封裝為一個HttpServletRequest對象,然后根據(jù)請求的URI和servlet的鍵值關(guān)系,調(diào)用相應(yīng)的servlet處理;最后,將處理的結(jié)果轉(zhuǎn)換成HTTP響應(yīng)發(fā)送回客戶端。
系統(tǒng)的所有業(yè)務(wù)邏輯都放在服務(wù)器端了,用戶無須安裝客戶端程序,只需要通過瀏覽器就能訪問,這樣用戶方就變成了“瘦”客戶端。這種模式很好的適應(yīng)了業(yè)務(wù)的變化,對于業(yè)務(wù)的改變都發(fā)生在服務(wù)器端,而客戶端沒有任何影響,這就是Web技術(shù)現(xiàn)在非常流行的重要原因之一。
不能適應(yīng)快速的業(yè)務(wù)變化,就成了傳統(tǒng)的基于C/S模式的RCP系統(tǒng)最大弊端。
Eclipse RCP的插件機(jī)制是其最大的亮點(diǎn),基于Eclipse RCP構(gòu)建的應(yīng)用系統(tǒng)的表現(xiàn)出相當(dāng)出色的擴(kuò)展性,用戶只需要下載一個插件,簡單的部署到應(yīng)用系統(tǒng)中,就能為應(yīng)用程序添加新功能。Eclipse RCP的插件管理機(jī)制較好的解決了應(yīng)用程序的擴(kuò)展問題,適應(yīng)業(yè)務(wù)需求的變化。
使用RCP開發(fā)的桌面應(yīng)用程序其主要應(yīng)用于如科學(xué)計(jì)算,數(shù)據(jù)管理等業(yè)務(wù)領(lǐng)域,而Eclipse RCP與其它RCP系統(tǒng)相比,屏蔽了底層操作系統(tǒng)的差異,真正實(shí)現(xiàn)了跨平臺;和Web應(yīng)用系統(tǒng)相比,使用Eclipse RCP系統(tǒng)的開發(fā)人員還可以根據(jù)需要,實(shí)現(xiàn)自己的插件,部署到與有的RCP產(chǎn)品,增強(qiáng)其業(yè)務(wù)功能的。
Web技術(shù)和RCP在各自的應(yīng)用領(lǐng)域都扮演著非常重要的作用。這個時(shí)候可能會有人問“那Web技術(shù)會被Eclipse RCP技術(shù)取代嗎”?
Web技術(shù)會被Eclipse RCP技術(shù)取代嗎?
技術(shù)的興起與消亡都與它關(guān)注的業(yè)務(wù)領(lǐng)域息息相關(guān)的,如果這種技術(shù)適合這個業(yè)務(wù)領(lǐng)域的發(fā)展需求,那自然會被普及推廣,反之則會被淘汰。
其實(shí)早在90年代初就提出了“Rich Client”的概念用來構(gòu)造客戶端應(yīng)用程序,常用的開發(fā)語言有Visual Basic和Delphi,出現(xiàn)了大量的桌面應(yīng)用程序,如ERP,財(cái)務(wù)管理系統(tǒng)等。而隨著Internet的普及,Web技術(shù)的發(fā)展,一時(shí)間諸如CGI,ASP,JSP等技術(shù)成為了開發(fā)人員的必須要掌握的技術(shù),越來越多的企業(yè)使用Web技術(shù)在Internet上構(gòu)建應(yīng)用系統(tǒng),典型的系統(tǒng)有辦公自動化系統(tǒng)。
經(jīng)過多年的發(fā)展,雖然有些應(yīng)用開發(fā)方式已經(jīng)從C/S模式演變成B/S模式,但是桌面應(yīng)用程序并沒有被完全被B/S系統(tǒng)替代,它們都在各自的業(yè)務(wù)領(lǐng)域中發(fā)揮著不可替代的作用,并且還不斷涌現(xiàn)新的Web技術(shù)和RCP技術(shù),促進(jìn)各自領(lǐng)域的發(fā)展。如今Eclipse RCP的橫空出世,備受業(yè)界關(guān)注,仿佛要打破這種平衡。
而事實(shí)上Eclipse RCP的出現(xiàn)只是增強(qiáng)了Java領(lǐng)域在桌面應(yīng)用的開發(fā)能力,只是Eclipse RCP優(yōu)秀的插件管理機(jī)制讓所有人耳目一新。我們可以理性的回過頭看,當(dāng)Web技術(shù)大興其道的時(shí)候,桌面應(yīng)用程序開發(fā)技術(shù)并沒有消失;同樣,Eclipse RCP的出現(xiàn)也不能夠取代Web技術(shù),兩者是相互依存的關(guān)系,RCP的不斷創(chuàng)新,將為Web2.0注入新的生機(jī)。
Author: orangelizq
email: orangelizq@163.com
posted on 2007-07-26 09:02
桔子汁 閱讀(288)
評論(0) 編輯 收藏 所屬分類:
J2EE