隨筆-128  評(píng)論-55  文章-5  trackbacks-0

          [轉(zhuǎn)帖]RCP能否取代WEB技術(shù)?

          作者:IT168 IT168 卒

          隨著Eclipse IDE的出現(xiàn)和不斷發(fā)展,Java社區(qū)又進(jìn)入了一個(gè)新的春天,Eclipse強(qiáng)大而又靈活擴(kuò)展的插件機(jī)制成為了吸引開發(fā)人員的天堂,使其成為一款優(yōu)秀的IDE。Eclipse項(xiàng)目的初衷并不打算構(gòu)建成一個(gè)胖客戶端平臺(tái)(RCP),而只是想構(gòu)建一個(gè)集成開發(fā)工具的平臺(tái)。Eclipse RCP始于Eclipse2.1版本,到了3.0版本的時(shí)候,Eclipse作為一個(gè)RCP邁出了巨大的一步, 在3.0后的版本,Eclipse項(xiàng)目小組廢除了以前的插件管理模型,通過引入OSGi(Open Service Gateway Initiative) R4標(biāo)準(zhǔn)來實(shí)現(xiàn)插件的動(dòng)態(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)目的一個(gè)開發(fā)胖客戶端應(yīng)用程序的框架,它提供了一個(gè)通用的 Eclipse 工作臺(tái),允許開發(fā)人員擴(kuò)展和構(gòu)造強(qiáng)大的,跨平臺(tái)應(yīng)用程序。

              RCP和Plug-in工程的差別并不大,插件項(xiàng)目使用的工作臺(tái)是Eclipse IDE本身;對(duì)于構(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)勢(shì)出現(xiàn),許多開發(fā)人員自然會(huì)拿Eclipse RCP技術(shù)和現(xiàn)在流行的Web技術(shù)對(duì)比,孰優(yōu)孰劣?如果撇開業(yè)務(wù)需求,單單要對(duì)比兩種技術(shù)是困難的,我們就主要對(duì)比兩種技術(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動(dòng)態(tài)技術(shù).例如J2EE平臺(tái)的Servlet技術(shù),Servlet容器會(huì)將來自于客戶端的HTTP請(qǐng)求封裝為一個(gè)HttpServletRequest對(duì)象,然后根據(jù)請(qǐng)求的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ù)的變化,對(duì)于業(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ò)展性,用戶只需要下載一個(gè)插件,簡(jiǎn)單的部署到應(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)了跨平臺(tái);和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)域都扮演著非常重要的作用。這個(gè)時(shí)候可能會(huì)有人問“那Web技術(shù)會(huì)被Eclipse RCP技術(shù)取代嗎”?

              Web技術(shù)會(huì)被Eclipse RCP技術(shù)取代嗎?

              技術(shù)的興起與消亡都與它關(guān)注的業(yè)務(wù)領(lǐng)域息息相關(guān)的,如果這種技術(shù)適合這個(gè)業(yè)務(wù)領(lǐng)域的發(fā)展需求,那自然會(huì)被普及推廣,反之則會(huì)被淘汰。

              其實(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)有辦公自動(dò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

          歡迎大家訪問我的個(gè)人網(wǎng)站 萌萌的IT人
          posted on 2007-07-26 09:02 桔子汁 閱讀(290) 評(píng)論(0)  編輯  收藏 所屬分類: J2EE
          主站蜘蛛池模板: 扬州市| 信宜市| 阿尔山市| 宜阳县| 建始县| 霸州市| 临颍县| 曲水县| 大宁县| 舟山市| 三穗县| 岳西县| 长宁区| 古田县| 新巴尔虎右旗| 土默特右旗| 双峰县| 九江市| 大洼县| 通渭县| 蓬溪县| 通化县| 富蕴县| 祁东县| 红桥区| 兴安县| 如东县| 潮州市| 正蓝旗| 夹江县| 铁力市| 黄石市| 丹凤县| 沭阳县| 中江县| 黔江区| 庆城县| 清河县| 星座| 娱乐| 陈巴尔虎旗|