Asp.net Ajax,Jquery,ExtJs 三種Ajax技術(shù)框架比較
瀏覽量:4044
1 現(xiàn)流行的ajax框架技術(shù)簡(jiǎn)介
現(xiàn)有的ajax從框架角度分級(jí)的話,可以有以下分類:
Ø 零級(jí),完成base工作,包括擴(kuò)展原有對(duì)象的方法,ajax通訊部分,比較精簡(jiǎn)。
Ø 一級(jí),完成effect工作,包括增加常用效果轉(zhuǎn)換函數(shù),如tween、drag、masklayer、fade等的特效。
Ø 二級(jí),完成component工作,包括對(duì)話框、列表、樹、日歷等的組件。
Ø 三級(jí),完成application工作,包括完整的前端平臺(tái),答應(yīng)用戶定義能實(shí)現(xiàn)一定功能的模塊。
一些框架只做零級(jí),如prototype.js,一些框架做到二級(jí),如jquery ,一些框架做到了三級(jí),如asp.net ajax 和ext。
選擇合適的ajax框架能提升客戶體驗(yàn),減少開發(fā)工作量和兼容主流瀏覽器等作用。
1.1 asp.net ajax 簡(jiǎn)介
特點(diǎn):
asp.net ajax集成了一套客戶端腳本庫(kù)使得與功能豐富的、基于服務(wù)器開發(fā)平臺(tái)的 asp.net結(jié)合在一起。其服務(wù)器端編程模型相對(duì)于客戶端編程模型較為簡(jiǎn)單,而且輕易與現(xiàn)有的asp.net程序相結(jié)合,通常實(shí)現(xiàn)復(fù)雜的功能只需要在頁面中拖幾個(gè)控件,而不必了解深層次的工作原理,除此之外服務(wù)器端編程的asp.net ajax control toolkit含有大量的獨(dú)立ajax控件和對(duì)asp.net原有服務(wù)器控件的ajax功能擴(kuò)展。
1.2 jquery簡(jiǎn)介
特點(diǎn):
簡(jiǎn)潔的思想:幾乎所有操作都是以選擇dom元素(有強(qiáng)大的selector)開始,然后是對(duì)其的操作(chaining等特性)。本身非凡輕易上手, 代碼非常簡(jiǎn)單,非常貼近原生態(tài)的javascript,文件也非常小。
1.3 extjs 簡(jiǎn)介
特點(diǎn):
100%面向?qū)ο蠛徒M件化的思想,一致的語法,全局的命名空間。文檔的完整,規(guī)范,方便。所有的組件(widgets)都可直接使用,而無需進(jìn)行設(shè)置
2 性能比較
ajax 應(yīng)用程序的性能取決于 web 應(yīng)用程序的幾個(gè)方面:
Ø 服務(wù)器響應(yīng)時(shí)間
Ø 網(wǎng)絡(luò)傳輸時(shí)間
Ø 客戶機(jī) javascript 的處理時(shí)間
可以用不同的框架制作出程序樣例,使用firebug比較測(cè)試其性能
從生成機(jī)制來說
asp.net ajax 服務(wù)器控件會(huì)生成其控制代碼,本機(jī)測(cè)試microsoftajax生成原始文件在86k ,加載速度比較快
jquery原始文件比較小,在20k左右,加載速度比較快
ext2.0原始文件500多k,加載速度稍慢。
當(dāng)然可以通過性能優(yōu)化,減少不必要的加載項(xiàng),使用緩存等技術(shù)提升ajax的性能。
3 易用性比較
3.1 asp.net ajax的使用
和vs2008 開發(fā)環(huán)境集成,開發(fā)和調(diào)試非常方便。
通常實(shí)現(xiàn)復(fù)雜的功能只需要在頁面中拖幾個(gè)控件,而不必了解深層次的工作原理,除此之外服務(wù)器端編程的asp.net ajax control toolkit含有大量的獨(dú)立ajax控件和對(duì)asp.net原有服務(wù)器控件的ajax功能擴(kuò)展,實(shí)現(xiàn)起來也非常簡(jiǎn)單。網(wǎng)上有大量的書籍,源碼和視頻 資料,同時(shí)也是微軟官方社區(qū)支持的。
3.2 jquery 的使用
微軟的visual studio 2008 sp1支持對(duì)jquery的動(dòng)態(tài)提示,只要在代碼頁導(dǎo)入對(duì)應(yīng)的vsdoc腳本就可以實(shí)現(xiàn)智能提示。該框架也有大量的示例它的文檔說明很全,而且各種應(yīng)用也說得很具體,同時(shí)還有許多成熟的插件可供選擇.
3.3 extjs 使用
微軟的visual studio 2008,eclipse等開發(fā)工具同樣支持對(duì)extjs的智能提示,只要在代碼頁導(dǎo)入對(duì)應(yīng)的js腳本就可以實(shí)現(xiàn)。該框架也有大量的源示例,它的文檔說明很全,而且各種應(yīng)用也說得很具體.
4 功能比較
4.1 asp.net ajax 功能
asp.net ajax提供 一套完整的回調(diào)框架( updatepanel,timer 等控件)和ui 控件(autocompleteextender自動(dòng)完成,dragoverlayextender 拖拽,popupextender添加彈出窗口)實(shí)現(xiàn)ajax特效,通過webrequest等類比較方便實(shí)現(xiàn)異步通訊,同時(shí)也較好兼容.net框架中現(xiàn)有的編程模型。
4.2 jquery功能
jquery是一個(gè)快速的,簡(jiǎn)潔的javascript庫(kù),使用戶能更方便地處理html 的documents、events 等dom對(duì)象。同時(shí)也有大量的插件(file upload文件上傳,grid表格,jqchart 圖表)實(shí)現(xiàn)ajax特效 。也較方便的實(shí)現(xiàn)ajax異步通訊。
4.3 extjs 功能
extjs 和jquery一樣擁有強(qiáng)大的 javascript 類庫(kù),能方便的處理html中dom對(duì)象,
可以實(shí)現(xiàn)的ajax特效較多,高亮顯示選中的行,推拽改變列寬度,按列排序,支持本地以及遠(yuǎn)程分頁 ,可在tree和grid之間進(jìn)行拖拽。在處理異步通訊也同樣方便。
易勢(shì)科技后臺(tái)使用extjs開發(fā),穩(wěn)定 快速反應(yīng)。