SmartGwt 項目心得

初識 GWT 還是在09年中,一開始做了 GWT-ext 項目,感覺還行。

 

後來 Sanjiv jivan 轉到 SmartClient ,創建了Smart Gwt。

 

公司正好要開發一個 CRM ,於是就用 SmartGwt 做了,整合了 Spring 2.5, hibernate 3.2 ,quartz, flex 等。

 

SmartGwt 目前版本 v2.1

 

對 SmartGwt 運用不深,稍微說一下:

SmartGwt 是真正的 RIA 應用,其核心是 Client DataSource ,通過 *.ds.xml 配置文件,實現 CIUD 操作。

其中,CIUD 可以設置 customSQL ,實現多表間查詢,比如 教師,學生,教室 的三張表 left join 查詢。

這都是在 Client 端運行!

 

當然也可以通過遠程服務端查詢和返回數據

1)使用 DMI (Direct Method Invoke),個人感覺就像 dwr:客戶端調用服務端的某個方法。指定到 *.ds.xml 的 CIUD 一個或多個方法,具體用的不多。

2)使用 GWT RPC ,這個就要在 Client 端繼承 RemoteService 接口,在服務端實現方法。只要寫過 GWT ,應該都很熟悉了。

 

我的項目 70%都使用了 SmartGwt Client 端 DataSource 默認CIUD 操作,10% 使用了 DataSource customSQL I操作,剩下20%用了 GWT RPC。

 

包的結構如下(未整理):

 

SmartGwt 包結構

 

也就是說:整個項目基本在 Client端運行,服務器的壓力較小。我也把一部分業務邏輯放在了 Client 端,進一步減少服務器壓力。當然這種做法有利有弊。

 

SmartGwt 是 RIA ,因此當項目編譯後的文件較大,用到的數據庫表(*.ds.xml)較多,並在網速較低的情況下,很難流暢的運行。

還有就是佈局方面,目前沒有圖形界面編輯開發工具,因此需要反覆的 手動寫代碼 ==> 運行 來確認效果,會比較花時間。當然, 比GWT2.0前的 HostedMode 要快多了。

 

順便推薦下 Google  Speed tracer ,非常好用!

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章