天天看點

AJAX架構/庫比較和選擇:ECHO2, GWT, DOJO, PROTOTYPE, JQUERY

看了幾篇中英文的AJAX庫/架構比較文章,為友善選擇使用,特歸納如下:

首先,要在兩個類别中選擇,一個是編譯類,一個是非編譯類别。

Echo2/GWT是将JAVA代碼編譯成JAVASCRIPT,乍看很友善,不用掌握JS也能做出炫目界面。但這隻适于不會或者不想了解JS的情況,對于還是想完全控制和定制界面的項目就不适合。

另外,有一種觀點認為JAVA->JS轉換是一種低級語言向進階語言轉換,本身沒有意義。有點像去學彙編,然後再找個工具把彙編語言代碼轉換成C代碼來用。我雖然沒完全想通這個觀點,不過,我一直用C/C++,這幾年才逐漸發現JAVA确實是一種進化。沒準别人說的是對的呢?

在Echo2和GWT中,GWT大部分工作是在用戶端,盡量少跟SERVER打交道,适合大型網站運用;ECHO2信奉“用到才加載”的信條,是以會有大量向SERVER的通路,适合企業應用。另外,個人覺得ECHO2是個更全面的的一站式架構,界面也非常炫。但它的開發工具要收費。

再談非編譯類别,它們包括DOJO、PROTOTYPE、JQEURY,下面一一介紹:

先說PROTOTYPE,它比較輕量極,能讓你的代碼更加簡化。最經典莫過于“美圓函數”:

document.getElementById(’elementid’) 變成$(’elementid’)

它加強了JS語言的可開發性,降低了學習JS的門檻。

DOJO最吸引人的是它的事件系統和豐富的可定制元件。它可以用形如下面的語句為各種HTML元素加入事件:

dojo.event.connect(someNode, "onclick", doStuff);

正由于DOJO提供了強大功能,它分成了許多包,可以分别包含使用。

JQUERY也提供了美圓函數,它的插件系統也提供象DOJO的元件,但它沒有PROTOTYPE那樣簡潔,也沒有DOJO這麼多的元件供使用,但它兼收兩家優點,并且個頭不大,文檔也算完整,是以說它介乎于前述兩者之間。

是以,如果你需要非常完整的工具元件請用DOJO,如果你想優化你的JS代碼,提高書寫技巧請用PROTOTYPE,如果你想兩者兼顧就用JQUERY。  

繼續閱讀