天天看點

gwt zk echo

這篇玩意沒發到ajax去,說到底從來沒有一個“我在做ajax”的心态,隻是架構選型和一些感想而已。

認識的人要上一個類MIS的項目,應該就是那種普通的線上數量不是很誇張,内容就是管管資料庫的應用,要我幫忙介紹一下可選架構。他們的背景是過往接觸過不少的舊的東西做的MIS一類,比如Delphi或者Oracle Develope那種,這次打算蹭一下java的油讓項目值錢一點好看一下,自己也上一個台階。

于是我先扯了一通ROR打哈哈,效率多驚人代碼多麼少程式員負擔多麼輕架構多麼契合人的自然思維等等,接着自然而然的轉到WEBWORK+HIBERNATE這一塊傳統架構上面來,但是他們聽了半天最後問“有沒有象Delphi那種在界面上拖拖拉拉的?”于是我告訴他們也有,JSF或者Tapestry之類,JSF還有IDE還是廠商支援的,但是說到底對于初學者來說IDE肯定還是DOT NET最可親效率最高,說到底既然你打算做web最終自己弄html弄style弄jscript是回避不了的。

結果過了兩天他們忽然拿了ECHO給我看,問這個怎麼樣。我是想要噴那東西效率差資源吃的厲害臃腫龐大怎樣怎樣的,但是上了網站看了DEMO想了又想覺得企業想要的可能就是這種東西,說到底還是想要做界面,追求所謂“視窗控件模式的使用者體驗”而不是“文檔流模式的使用者體驗”,我線上人數沒那麼大,像是做純網站那樣做一個光秃秃的controller讀資料庫然後在jsp裡面一個tr一個tr渲出來這種手法能夠提高的執行效率減少的資源消耗恐怕沒什麼意義,如果就十個線上那能浪費到哪裡去?

不過說到底對于ECHO還是有不痛快的地方,怎麼看怎麼象老式的SWING程式,控件功能感覺很基本原始,demo的配色也難看弊了……當然隻要耐心研究仔細改造自己寫控件完全可以矯正過來,不過那種事情是戰術實踐的時候的事情,目前就先不着急下決心吧。

于是去google那一大堆VS文來看,最常見的是GWT VS ECHO,因為我早就知道GWT支援的隻是java.util的子集,應用全放到用戶端後安全性全要自己解決,且不說DEMO同樣原始,感覺可以拿來做小工具但大東西就算了。然後發現這一類讨論的角落裡面總會有人提到ZK。

爬上ZK一看DEMO,可定制可搜尋的下拉選框和帶校驗(提示資訊還是中文的)的文本框和樹形可多選的grid,配色清新素淡,界面簡潔大方,讓我這看了半日呆版醜陋的windows裡面一張大圖一個button的demo的人吓了個半死,我感覺ZK比較像是第一線做實事的人定了需求弄出來的,而echo則更像是學院派那群“讓我秀一個把swing web化的奇迹給你們看”高高在上的心态弄出來的。我懷着激動的心情打開ZK示範程式的源代碼……然後熱情就涼回去了一半,太醜陋了……它的應用就是一個xml檔案,裡面是嵌套的界面描述嵌入一個一個on_event然後直接把java代碼嵌進去,最可笑的是jdbc的demo,直接在裡面讀驅動程式送使用者密碼連資料庫了,看來這玩意恐怕還是一個第一線弄界面的人搞出來的而不是第一線寫代碼建架構的人搞的。(不過示範雖然醜,還是有專門怎樣給應用加上spring+hibernate的文章介紹的)

說到底,我覺得ZK似乎能夠做到想要實作的效果,代碼撰寫困難的問題是可以解決的,畢竟都有eclipse插件出來了,自身也是正經的語言系統,按照ZK網站那裡的讨論用一些技巧把編碼和界面剝離開來是可能的。但是這玩意用的人太少,心裡總有些不放心。ECHO實在是從感性上不喜歡;而傳統的指令模式的web架構(webwork一類)做出ZK同樣的效果來需要花不少時間,也就是結構簡單好維護執行效率高而已。唯一不确定的就是傳統的控件模式的JSF或者Tapestry那種是否真的象想象的那麼複雜難弄。ZK吸引我的另一個地方其應用是完全的xml文本改一下馬上可以看效果,而不是一大堆配置檔案加一大堆java代碼每次都要重新開機server那種,可以趁機玩玩元程式設計。

是以說基本上打算冒點險玩ZK了,算是把想法交流一下,看看有沒有先驅者給點注意事項,看看有什麼自己沒想到的問題吧。

echo

首頁:http://www.nextapp.com/platform/echo2/echo/

線上示範:http://demo.nextapp.com/Demo/app

gwt

首頁:http://code.google.com/webtoolkit/

線上示範:http://code.google.com/webtoolkit/documentation/examples/

ZK

首頁:http://www.zkoss.org

線上示範:http://www.zkoss.org/zkdemo/userguide/

繼續閱讀