国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
使用SWT開發(fā)WEB應(yīng)用

2006 年 2 月 20 日

Eclipse SWT(標(biāo)準(zhǔn)部件工具包)發(fā)展迅速,以其良好的性能和漂亮的外觀,已逐漸成為JAVA桌面應(yīng)用開發(fā)的首選控件包。一直以來SWT都是用來開發(fā)桌面應(yīng)用的,那這個(gè)優(yōu)秀的工具包能否直接用于開發(fā)WEB應(yīng)用呢?如今SmartSWT技術(shù)可以讓這個(gè)想法成為現(xiàn)實(shí),這對(duì)SWT來說,無疑又多了一個(gè)用武之地。

SmartSWT簡(jiǎn)介

為了提高傳統(tǒng)WEB應(yīng)用的界面表現(xiàn)能力,RIA技術(shù)應(yīng)時(shí)而生,各種RIA平臺(tái)通過各種手段來提高豐富的圖形界面。如Bindows,它使用動(dòng)態(tài)HTML技術(shù)模擬Windows控件,還有Flex,直接使用Flash做為WEB應(yīng)用的表現(xiàn)層,以彌補(bǔ)DHTML技術(shù)的不足。

而SmartSWT則是基于SWT的RIA發(fā)布平臺(tái)。它可以將普通的SWT的應(yīng)用直接發(fā)布成為一個(gè)可通過客戶端瀏覽器訪問的WEB應(yīng)用,這樣就使通過SWT直接開發(fā) 富UI的WEB應(yīng)用成為了現(xiàn)實(shí)。不僅如此,基于SWT擴(kuò)展的許多擴(kuò)展包也大都可以直接使用,如JFace、GEF等。

SmartSWT和SmartClient不一樣,它并不是將SWT應(yīng)用程序下載到客戶端來運(yùn)行,而是和B/S模式的WEB應(yīng)用一樣,整個(gè)應(yīng)用程序是運(yùn)行在服務(wù)端的,只是運(yùn)行過程中將圖形界面實(shí)時(shí)顯示于客戶端的瀏覽器中,并將客戶端的操作事件自動(dòng)實(shí)時(shí)返回服務(wù)端,觸發(fā)服務(wù)端原SWT應(yīng)用的事件處理代碼進(jìn)行處理。服務(wù)端的SWT應(yīng)用所進(jìn)行的數(shù)據(jù)庫(kù)操作和文件操作都是相對(duì)于服務(wù)器端進(jìn)行的,而不像C/S應(yīng)用那樣,需要客戶端自己將數(shù)據(jù)按自定義的通訊協(xié)議傳回服務(wù)端再進(jìn)行處理。

SmartSWT底層的通訊是加密而且高效的,在內(nèi)網(wǎng)的客戶端打開服務(wù)端的SWT應(yīng)用,和原來直接在本機(jī)使用相比相差不多。相當(dāng)于將您機(jī)器的CPU降一檔后運(yùn)行應(yīng)用程序的感覺。

SmartSWT目前測(cè)試版本是3.1,表示支持SWT3.1的兼容應(yīng)用程序。

下圖是一個(gè)SWT應(yīng)用(SWT Control Example)在SmartSWT平臺(tái)部署后,客戶端通過IE瀏覽器訪問的效果:







回頁(yè)首


安裝運(yùn)行

SmartSWT的測(cè)試版僅支持Windows系統(tǒng),根據(jù)其用戶手冊(cè)的說明,它的服務(wù)端正式版將支持Linux、Unix等系統(tǒng)。SmartSWT安裝運(yùn)行非常簡(jiǎn)單,從www.smartswt.com下載SmartSWT31壓縮包并解壓,在解壓目錄下有三個(gè)子目錄SmartSWTClient、SmartSWTServer和WEB。

1. 打開SmartSWTClient目錄,運(yùn)行Setup.exe安裝客戶端,該程序?qū)⒃诳蛻舳税惭b一個(gè)定制的小型JAVA虛擬機(jī)。

2. 打開SmartSWTServer目錄,運(yùn)行Startup.bat,將運(yùn)行SmartSWT服務(wù)端,SmartSWT使用自帶的JAVA虛擬機(jī),所以您不用預(yù)先準(zhǔn)備它。

3. 如果您的客戶端和服務(wù)端都在同一臺(tái)機(jī)器,則直接進(jìn)入WEB子目錄,用IE打開index.htm文件,大約15秒鐘左右即可在IE瀏覽器中啟動(dòng)SmartSWT桌面,您這時(shí)可以通過Start菜單,啟動(dòng)內(nèi)置的DEMO程序體驗(yàn)一番。





回頁(yè)首


開發(fā)SmartSWT應(yīng)用

開發(fā)SmartSWT應(yīng)用基本上和開發(fā)普通的SWT應(yīng)用相同。您可以使用Eclipse的SWT可視化插件來幫助創(chuàng)建一個(gè)SWT應(yīng)用程序,比較好的有Designer及Eclipse的VisualEditor等。

用于部署到SmartSWT服務(wù)器的SWT應(yīng)用在開發(fā)時(shí)有些小的限制,幸好這些通常都只是舉手之勞:

1. Display的獲取必須統(tǒng)一使用Display display = Display.getDefault()方法,不能使用new Deisplay()創(chuàng)建,SmartSWT目前尚不支持多Display的應(yīng)用,對(duì)大多數(shù)應(yīng)用來說這不是問題;

2. 創(chuàng)建的Shell最好必須調(diào)用shell.setSize()對(duì)其尺寸進(jìn)行初始化,否則在SmartSWT將默認(rèn)呈最小化狀態(tài);

3. 盡量不要使用非公開的API,因?yàn)橛猩倭糠枪_API,可能SmartSWT并沒有實(shí)現(xiàn)它;

4. 盡量不要使用其它JNI技術(shù)和ActiveX控件,不要使用SWING和AWT等非基于SWT的控件;

5. 避免初始化時(shí)一次創(chuàng)建幾十上百個(gè)控件,這樣會(huì)造成啟動(dòng)時(shí)間較長(zhǎng),應(yīng)在需要顯示時(shí)創(chuàng)建控件。





回頁(yè)首


部署SmartSWT應(yīng)用

SmartSWT的部署一樣很簡(jiǎn)單,只需將調(diào)試通過的SWT程序的類文件,按包名目錄結(jié)構(gòu)原封不動(dòng)拷貝至SmartSWTServer的swtapps目錄,然后在SmartSWTServer.xml文件中按以下格式注冊(cè)一下,最后重啟SmartSWTServer,你就可以通過客戶端瀏覽器啟動(dòng)SmartSWT桌面,在Start->Programs菜單里啟動(dòng)它:

 
                        <!-- Configuration of each SWT Application                        name: the name of the SWT Application                        mainClass: the main class to start the SWT Application                        startup: will it start just after the smartswt desktop started(haven‘t supported)                        description: the description of the SWT Application                        -->                        <Application name="ControlExample"                        mainClass="org.eclipse.swt.examples.controlexample.ControlExample">                        <startup>false</startup>                        <description>ControlExample Application</description>                        </Application>                        





回頁(yè)首


SmartSWT: RIA平臺(tái)的強(qiáng)有力競(jìng)爭(zhēng)者

SmartSWT同其它RIA平臺(tái)比較有一些獨(dú)特的優(yōu)勢(shì)。首先它是基于SWT的RIA平臺(tái),依托強(qiáng)大的Eclipse陣營(yíng),有許多擴(kuò)展技術(shù)可用,如JFace、GEF、EMF等,像UML設(shè)計(jì)器、報(bào)表、動(dòng)畫這樣的復(fù)雜圖形應(yīng)用都可以通過SWT實(shí)現(xiàn)后,發(fā)布到SmartSWT,從而在WEB上很輕松地使用這些桌面應(yīng)用獨(dú)有的表現(xiàn)技術(shù)。還有OpenGL、RCP這類應(yīng)用也有可能在將來得到支持,而且Eclipse不斷發(fā)展中,SWT相關(guān)技術(shù)的不斷成熟,都將以最快的速度同時(shí)運(yùn)用于WEB應(yīng)用。而且多年來用積累的用SWT開發(fā)的軟件,不需要修改,或只需少量的修改,即可同時(shí)擁有WEB版本。

其次,很多JAVA應(yīng)用開發(fā)者往往只對(duì)JAVA服務(wù)端的技術(shù)感興趣,而對(duì)表現(xiàn)層采用的HTML、JS、JSP這類標(biāo)簽語(yǔ)言和腳本技術(shù)并不喜歡。而事實(shí)上兼通JAVA技術(shù)、HTML和腳本技術(shù)的程序員也是少之又少。這也是造成許多傳統(tǒng)J2EE應(yīng)用的界面表現(xiàn)不佳的原因。由于SmartSWT直接采用了SWT,使的整個(gè)應(yīng)用的開發(fā)完全是純JAVA技術(shù)的開發(fā)過程,開發(fā)者不再需要與非面向?qū)ο蟮腍TML、JS、JSP等標(biāo)簽語(yǔ)言和腳本技術(shù)打交道,整個(gè)開發(fā)過程完全是桌面應(yīng)用的開發(fā)模式,基于事件驅(qū)動(dòng)。這使得應(yīng)用開發(fā)在技術(shù)人員的配備上要容易得多。

此外,發(fā)布到SmartSWT的SWT應(yīng)用,客戶端通過瀏覽器使用時(shí),仍然具有和原SWT一樣的具有Windows本地風(fēng)格的界面,具有和真正桌面應(yīng)用一樣的表現(xiàn)能力和事件機(jī)制,其表現(xiàn)能力和功能是Bindows以及Flex等技術(shù)無法真正模擬的。





回頁(yè)首


SmartSWT的局限性

盡管SmartSWT有諸多好處,但也存在一些局限性。 由于技術(shù)實(shí)現(xiàn)的原因,對(duì)網(wǎng)絡(luò)傳輸速度要求較高。SmartSWT在內(nèi)網(wǎng)內(nèi)訪問時(shí),其使用效果和本機(jī)上直接使用相差不多,但在外網(wǎng)上卻幾乎不具可用性。這決定了SmartSWT只能用于開發(fā)企業(yè)內(nèi)網(wǎng)應(yīng)用。

另外,和Flex類似,F(xiàn)lex要求客戶端的瀏覽器安裝一個(gè)Flash ActiveX控件,SmartSWT也有類似要求。SmartSWT客戶端需要在瀏覽器中實(shí)時(shí)表現(xiàn)服務(wù)端SWT應(yīng)用的圖形界面,并對(duì)用戶操作做出響應(yīng),這就需要在客戶端安裝一個(gè)特制的小型JAVA虛擬機(jī),并以ActiveX控件的形式在IE中使用。某些政府機(jī)關(guān)的敏感部門對(duì)這種方式 可能比較反感。





回頁(yè)首


選擇SmartSWT,還是...

是否選擇SmartSWT,取決于您的軟件應(yīng)用范圍和客戶。如果您的軟件是內(nèi)網(wǎng)的企業(yè)應(yīng)用,您的用戶日常辦公使用的是Windows系統(tǒng),而且對(duì)客戶端安裝一個(gè)小小的虛擬機(jī)不介意的話,選擇SmartSWT無疑是上佳選擇 。它將使您的WEB應(yīng)用開發(fā)充分享受SWT開發(fā)的各種便利性和各方的豐富技術(shù)支持,完成普通WEB無法完成的功能。SWT界面的表現(xiàn)力和操作便利性,也會(huì)使客戶滿意度大大提高。

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Eclipse Ganymede:深入RAP
BlogJava - kukooBlog - Eclipse RCP 應(yīng)用系統(tǒng)
SWT Designer 安裝與破解
GIS整體框架介紹
Eclipse SWT應(yīng)用程序項(xiàng)目的打包與部署
JAVA:SWT插件
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服