GWT的幾個(gè)開源框架_第1頁
GWT的幾個(gè)開源框架_第2頁
GWT的幾個(gè)開源框架_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、02 Aug 11 GWT的幾個(gè)開源框架FROM lupaworld在RIA (rich internet application)社區(qū)中,越來越多的人選擇使用GWT(Googel Web Toolkit)。由此催生了很多框架和類庫,這些框架和類庫或者作為GWT的補(bǔ)充、或者以GWT為基礎(chǔ)提供更強(qiáng)大的功能:GWTxGWTx關(guān)注于加強(qiáng)Google提到的JRE模擬(JRE Emulation)。GWT提供使用 Javascript實(shí)現(xiàn)的一些核心Java類庫,這樣一來,使用Java為GWT所做的編 程,GWT本身可以將它們恰當(dāng)?shù)摹熬幾g”或者翻譯成Javascript。GWT-DNDGWT -DND是對

2、GWT提供drag-and-drop支持的一個(gè)擴(kuò)展庫。GWT-DTD在社區(qū)中被 廣泛使用,另外有一些項(xiàng)目(例如下面將要提到的GWT Diagrams)直接使用該 擴(kuò)展庫,或提供對它的集成。該擴(kuò)展庫已經(jīng)非常成熟,去年,在它作為對核心 GWT的系列補(bǔ)丁包提供下載時(shí),很多用戶就已經(jīng)證實(shí)了它的價(jià)值。Hibernate4gwtHibernate4gwt是特別為將GWT的Java后端與成熟的ORM Java工具Hibernate 相集成而提供的開發(fā)框架。在GWT應(yīng)用軟件中使用類似Hibernate這樣的類庫時(shí), GWT既表現(xiàn)出了無與倫比的復(fù)雜 性,也展現(xiàn)了前所未有的機(jī)會。通過利用GWT 中遠(yuǎn)程服務(wù)的API

3、以及Hibernate庫的特性,Hibernate4gwt能夠提供一大把優(yōu) 缺點(diǎn)各不相 同的不同集成選項(xiàng):無狀態(tài)型(默認(rèn)選項(xiàng)):你的服務(wù)器保持無狀態(tài),不保存任何額外信息。你的域 類不得不從LazyGwtPojo繼承從而儲存延遲屬性(lazy attributes)。動(dòng)態(tài)代理:代理是用來處理服務(wù)器端和客戶端的延遲屬性信息的。你只需要實(shí)現(xiàn) Serializable接口,并迫使GWT延緩捆綁于客戶端(詳細(xì)信息請查看相關(guān)文檔)。支持Java 5:鑒于GWT并不支持Java5的bean,hibernate4gwt允許你將你的 Domain類動(dòng)態(tài)克隆成GWT兼容的DTO。這些克隆類必須使用 和域類本身一樣

4、的 名字(但兩者在不同的包中),并且繼承LazyGwtPojo。另一方面,hibernate4gwt 會為你管理延遲屬性,且不要求任何克隆映射文件。狀態(tài)型:延遲信息并不儲存于POJO,而是儲存在HTTP會話中,因而,你的域類 不必再從LazyGwtPojo繼承,但你的Web服務(wù)器變成有狀態(tài)的了。另外,Hibernate4gwt也對結(jié)合使用Spring框架(該框架對于要使用下文將提 到的GWT-SL的開發(fā)者同樣很有價(jià)值)提供支持。MyGWTMyGWT是目前最受歡迎的GWT開發(fā)框架之一,它使用了基于LGPL許可的Ext Javascript庫,該Javascript庫和開發(fā)框架是由同一個(gè)團(tuán)隊(duì)開發(fā)的

5、。MyGWT通 過引入現(xiàn)存并已經(jīng)很成熟的Ext庫而給GWT提供了大量的Javascript功能。在MyGWT庫中包含有像按鈕、對話框、表格、樹型結(jié)構(gòu)、列單以及標(biāo)簽等等控件 的實(shí)現(xiàn)。MyGWT還提供了一些布局來在用戶界面中組織組件。此外,它還支持對各種組件的多種動(dòng)態(tài)數(shù)據(jù)加載方案,包括XML數(shù)據(jù)倉庫、JSON 和GWT遠(yuǎn)程通信層。GWT-ExtGWT -Ext在很多方面都跟MyGWT相似。正如MyGWT 一樣,GWT-Ext也建立于Ext Javascript庫之上。也正是出于這個(gè)原因,GWT-Ext中所提供的控件和widget 無論是在外觀還是行為上都近似于MyGWT。但是,GWT -Ext另外

6、支持一些MyGWT 中沒有的組件跟特性,比如DatePickers、顯性表單和驗(yàn)證功能、以及樹型結(jié)構(gòu) 中的 drag-and-drop o和MyGWT 一樣,GWT-Ext也對它的控件支持很多后端數(shù)據(jù)源(back-end data sources)oGwittirGwittir項(xiàng)目是GWT的一個(gè)組件庫,它的重點(diǎn)在于使用一個(gè)一致的用戶界面對交 互機(jī)制建模。Gwittir的開發(fā)者這樣描述它:這個(gè)項(xiàng)目的目的在于提供一組代碼生成器、建構(gòu)基本框架、工具和基本的MVC 框架,供給基于Google Web Toolkit的應(yīng)用軟件使用。在很多方面,Gwittir與MyGWT、GWT-Ext很相像,他們都是G

7、WT的用戶界面庫, 提供像組件、流程控制、驗(yàn)證、甚至是動(dòng)畫方面的功能。然 而,MyGWT和GWT-Ext 使用的是一個(gè)相當(dāng)常見的MVC風(fēng)格的模式(比如類似Swing組件的布局),但 Gwittir采用一個(gè)不同尋常的方式將業(yè)務(wù)模 型集成到用戶界面上。作者在 Gwittir官方網(wǎng)站上指出了傳統(tǒng)MVC模型的一些弱點(diǎn):我有一些想法想坦白地告訴大家。我?guī)缀跤憛掃^所有曾使用過的任何環(huán)境下的用 戶界面工具。如今,模型一視圖一控制器的模式引入使用已經(jīng)有很長一段時(shí)間, 在Java領(lǐng)域的一些用戶界面工具像Swing或SWT在建立用戶界面控件的時(shí)候廣 泛采用了這一模式。但問題是他們的模型和你的模型永遠(yuǎn)都不一樣。在

8、你使用 用戶界面工具的時(shí)候,你總是想要竭盡全力去創(chuàng)建一個(gè)能夠很好地結(jié)合你的業(yè)務(wù) 模型來工作的用戶界面,而并不是用戶界面工具的設(shè)計(jì)者所使用的抽象模型。GWT-SL 和 GWT-WLGWT Server Library (GWT-SL)是一個(gè)旨在簡化GWT應(yīng)用軟件和Spring框架集 成的項(xiàng)目。SL是GWT Widget Library的一個(gè)子項(xiàng)目,它通過允許將POJO作為RPC服務(wù)發(fā) 布的方法幫助實(shí)現(xiàn)GWT RPC服務(wù)與Spring的集成。同時(shí),GWT Widget Library(GWT-WL)是另外一個(gè)將目標(biāo)瞄準(zhǔn)于提供比基本GWT 安裝提供功能更強(qiáng)大的widget的項(xiàng)目。在GWT-WL中支持的widget包括日歷、 計(jì)算器、圖像按鈕、狀態(tài)條、分頁標(biāo)記等等。GWT Diagrams和上面所提到的組件庫不同的是,GWT Diagrams致力于為通過GWT展現(xiàn)變化多 端的圖像提供更多功能。GWT diagrams所包含的特性包括:支持多種連接線類 型,將任意GWT UIObject作為連接點(diǎn)的能力,以及控制連線連接到組件的不同 邊的能力。除了在上面列出的這些項(xiàng)目以外,還有一些其他為GWT提供的開源代碼庫,它們 活躍程度與社區(qū)采用程度各

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論