由于項目中使用AJAX 較多,所以近兩年對AJAX也熟悉起來了。從之前使用prototype.js,后來使用過dwr(只是學習),buffalo (一個國內開源AJAX框架),后來隨著prototype.js版本的更新,發現其體積也越來越大,失去了以前小巧易維護的特性。
后來自己寫了AJAX小框架,在工作中也能應付。這樣過了些時間,當我再使用了ext.js的grid ,發現ext.js太漂亮了,甚至可以說是華麗的。但是當我遇到其自身的一些bug或者是我使用上不當造成的問題的時候,發現其維護真的很麻煩。打開其幾萬行的原代碼,誰有心情看呢?
最近由于工作關系,并另外一個小組借用。過去使用了JQery 框架,發現其真的是恰到好處。詳細的注釋在其中也不過3000行代碼,特別是其選擇器真是太強大了。
所以一下子愛上了JQery ,如果你還沒有使用這個AJAX開發中的利器,強烈推薦你使用。
舉一個例子,實現全選效果的時候,以前我是取得要遍歷的全部checkbox 然后遍歷,來改變checked 屬性。 代碼雖不復雜,但工作量是無法和jquery帶來的優勢比的,jquery 只用了一行。
$("#A_select_all").click(function (){$("#Scan_Rst_Tab :checkbox").attr("checked", true); });
還有動態生成表格數據的時候,之前我使用的是:
document.createElement 最后還要 tr.appendChild 。(當然當數據比較多,不要一條一條往document里加,應先加在一起,最后一次加載進document ,因為javascript 操作內存數據比較多的時候,會比較慢,而且頁面也是減少刷新比較快。(
扯遠了,只是個人經驗))
而直接用jquery 的clone(true) 方法,最后結合insertBefore 或者其他方法,比如appendTo 等等。
jquery不但方便,而且效率比之前的createElement方法 更高,更快。(有測試提供支持的,測試數據就不列了。
反正也不要求大家相信。)
用jquery 把json方法 ,擴展了就更好了。jQuery.extend 能讓我們做的更好。呵呵
整體來說通過這次工作借調,我也學到了不少東西。 借我過去的是我同學,我感覺他真的已經走的很遠了,不管技術還是思想。這也是我為什么有要轉做C++的想法,做C++ 不等于放棄WEB,只為更好的把握WEB,不管是從服務器性能,還是從腳本本身性能上都能有一些更全面的認識。加上公司氛圍就是C++很濃厚,不加以利用,就有些浪費了。
最近總結了些web方面的知識,本來手上還有一些優秀報表,還有jquery擴展方面的可以總結。只是時間關系,這次就算了,來日方長。同時也招了個做web比較有經驗的新同事來接替手上web方面的開發任務。這其實是對web的一次短暫告別。我將投入一些時間進行一個C++項目的開發,在這個過程中,我想我一定又能學到更多的知識。(興奮中
)
很高興的是,工作這么多年,依然能保持對新知識的快速接收,也能對市場炒作的技術概念冷靜對待(前面看IBM技術中心有文章介紹反轉AJAX ,提的是comet技術,服務器主推方式。我隨后對阿里巴巴使用的阿里旺旺在線聊天系統進行分析,發現其也是主推方式,但是并不需要搞這么多概念出來,如果不利用客戶端刷新,或者不利用客戶端長連接(控件形式[把AJAX也看成是瀏覽器的控件理解]),這些就不存在B/S結構中,實際上利用AJAX的一個長連接,服務端阻塞這個連接,(注意控制超時),直到有新數據再返回,這就是市面上說的反轉AJAX了。想通這里,就可以放心睡覺了。(
我很懶,看吧,如果有這個需要或者必要做個DEMO給大家分享。)),和對即將新任務的高度熱情。希望這激情之火能將我燃燒得久一點。
posted on 2008-11-26 01:23
-274°C 閱讀(1291)
評論(2) 編輯 收藏 所屬分類:
web前端