csdn給人的感覺是太浮躁,給人的學(xué)術(shù)氛圍不夠,而且什么技術(shù)都有給人感覺很雜亂 ,還是cnblogs不錯(cuò) 主要以.net 為主,技術(shù)含量很好,今天考試,大來這里特意和大家分享一個(gè)自認(rèn)為很不錯(cuò)的ajax的框架XCallback,它是對(duì)callback的擴(kuò)展 ,筆者曾經(jīng)用過好幾款ajax框架,最早用UpdatePanel 后來處于性能的考慮決定廢棄,廢棄原因有4:
1.網(wǎng)頁首次要加載310kb的axd文件,占網(wǎng)速也占用瀏覽器的載入時(shí)間。
2.效率很低,違背了ajax的初衷,回傳了viewstate和所有控件的值3.不夠靈活,面對(duì)復(fù)雜而多變的項(xiàng)目開發(fā),不是用幾個(gè)拖拽就能解決問題,編程仍然是解決問題的核心,但是你想在他強(qiáng)加的思想下做出改變又是何等困難 。
4.部署也不易,也許有人會(huì)說,把那兩個(gè)程序集傳到bin下就行了 ,可是無論我怎么整,ajax效果總是失效,也許這與ajax工具包早期版本有關(guān)這是我放棄UpdatePanel的原因后來聽同學(xué)說ajaxpro也不錯(cuò),ok 就用了 ,對(duì)他這種簡單的客戶端調(diào)用服務(wù)器端的方法感覺很驚奇,想看看ajaxpro的源碼,可是reflector進(jìn)入了更新的死路,更新了N次都沒成 [ 這里的各位如果誰的reflector能用 請(qǐng)給我發(fā)一個(gè)chenxumi@hotmail.com ] 看ajaxpro的風(fēng)格潛意識(shí)里猜測好像使用了反射技術(shù)。用了一段時(shí)間,但是面對(duì)實(shí)際問題時(shí),最終還是棄用,棄用原因有:
1、ajaxpro會(huì)生成4個(gè)ashx文件,感覺它應(yīng)該生成1個(gè)文件比較好,因?yàn)榇蠹叶贾繧IS有并發(fā)連接數(shù)的限制,尤其是虛擬主機(jī)更是規(guī)定在一定范圍內(nèi)[記得150元的主機(jī)大多規(guī)定在200個(gè)并發(fā)連接數(shù)],而且ashx文件和服務(wù)器的連接時(shí)效很長,讓我覺得ajaxpro并不完美[也許編程珠璣看多了,要求得過于苛刻,雖然我們現(xiàn)在的軟件環(huán)境和硬件環(huán)境已經(jīng)不像以前的程序員那么艱苦了,但是對(duì)于web這種講究高性能的程序還是較真要好]
2、我曾跟蹤調(diào)試ajaxpro發(fā)送數(shù)據(jù)的過程,感覺的有些慢,只是感覺而已,也沒仔細(xì)研究具體代碼,只是自己一面之詞,不知大家有沒有這種感覺,估計(jì)這是個(gè)有爭議的地方3、ajaxpro是小巧吸引了我 ,至今還記得23kb小巧精致 正合吾心,可是當(dāng)我要面對(duì)動(dòng)態(tài)加載一些數(shù)據(jù)控件時(shí),他卻根本做不到, 通過反射機(jī)制的ajaxpro反過去執(zhí)行類里的特定控件可不是容易事,所以即使在partial里用ajaxpro訪問cookie也只能這樣HttpContext.Current.Request.Cookies["name"].Value.ToString();得到,ajaxpro現(xiàn)在的確也支持dataset這些復(fù)雜的數(shù)據(jù)類型,今天我也訪問過他們網(wǎng)站(http://www.ajaxpro.info),也有很多對(duì)應(yīng)的例子,可是實(shí)現(xiàn)dataset可不是簡單事,服務(wù)器端代碼的編寫,客戶端代碼的編寫,都是復(fù)雜的繁雜的而且有些技術(shù)含量的東西,不利于快速的項(xiàng)目開發(fā),等到了ajaxpro.2 的時(shí)候程序集已經(jīng)增加到140kb了 ,我懷疑是不是內(nèi)置了js庫呢,或是我下了山寨版的ajaxpro ?
終于ajaxpro廢棄了第三款ajax框架JQuery都說小巧優(yōu)雅,于是用了,可是失望,在純ajax方面比ajaxpro好不了多少 ,120kb的加載量也是我不能忍受的第四款也是剛看到了,原來還有個(gè)Anthem.net 驚鴻一瞥了一下 ,失望,又是個(gè)模板式的東東,不過據(jù)反映在服務(wù)器端方法的執(zhí)行上和加載量上有優(yōu)勢 ,這點(diǎn)讓我心動(dòng)。
但是事實(shí)上還有更好的一款ajax框架,他幾乎具備了以上的所有優(yōu)點(diǎn)和不具備以上的所有缺點(diǎn)他就是XCallback 是對(duì)callback的擴(kuò)展他很簡單很優(yōu)雅很高效,通過return的分割就完美實(shí)現(xiàn)了在一個(gè)方法里共存ajax調(diào)用前的方法和數(shù)據(jù)返回后執(zhí)行的方法,這樣有很多優(yōu)點(diǎn) ,大家看看下面兩幅圖 ,看看是不是簡單,如果覺得ajax實(shí)現(xiàn)的很簡單請(qǐng)繼續(xù),如果還是覺得麻煩 ,沒什么價(jià)值,也不強(qiáng)求你看下去了
這是前臺(tái)頁面,數(shù)據(jù)從服務(wù)器返回后將執(zhí)行return之后的函數(shù)體

這是后臺(tái)頁面,只需初始化InitAjaxStyle()就可完成服務(wù)器端函數(shù)調(diào)用

1.網(wǎng)頁首次要加載310kb的axd文件,占網(wǎng)速也占用瀏覽器的載入時(shí)間。
2.效率很低,違背了ajax的初衷,回傳了viewstate和所有控件的值3.不夠靈活,面對(duì)復(fù)雜而多變的項(xiàng)目開發(fā),不是用幾個(gè)拖拽就能解決問題,編程仍然是解決問題的核心,但是你想在他強(qiáng)加的思想下做出改變又是何等困難 。
4.部署也不易,也許有人會(huì)說,把那兩個(gè)程序集傳到bin下就行了 ,可是無論我怎么整,ajax效果總是失效,也許這與ajax工具包早期版本有關(guān)這是我放棄UpdatePanel的原因后來聽同學(xué)說ajaxpro也不錯(cuò),ok 就用了 ,對(duì)他這種簡單的客戶端調(diào)用服務(wù)器端的方法感覺很驚奇,想看看ajaxpro的源碼,可是reflector進(jìn)入了更新的死路,更新了N次都沒成 [ 這里的各位如果誰的reflector能用 請(qǐng)給我發(fā)一個(gè)chenxumi@hotmail.com ] 看ajaxpro的風(fēng)格潛意識(shí)里猜測好像使用了反射技術(shù)。用了一段時(shí)間,但是面對(duì)實(shí)際問題時(shí),最終還是棄用,棄用原因有:
1、ajaxpro會(huì)生成4個(gè)ashx文件,感覺它應(yīng)該生成1個(gè)文件比較好,因?yàn)榇蠹叶贾繧IS有并發(fā)連接數(shù)的限制,尤其是虛擬主機(jī)更是規(guī)定在一定范圍內(nèi)[記得150元的主機(jī)大多規(guī)定在200個(gè)并發(fā)連接數(shù)],而且ashx文件和服務(wù)器的連接時(shí)效很長,讓我覺得ajaxpro并不完美[也許編程珠璣看多了,要求得過于苛刻,雖然我們現(xiàn)在的軟件環(huán)境和硬件環(huán)境已經(jīng)不像以前的程序員那么艱苦了,但是對(duì)于web這種講究高性能的程序還是較真要好]
2、我曾跟蹤調(diào)試ajaxpro發(fā)送數(shù)據(jù)的過程,感覺的有些慢,只是感覺而已,也沒仔細(xì)研究具體代碼,只是自己一面之詞,不知大家有沒有這種感覺,估計(jì)這是個(gè)有爭議的地方3、ajaxpro是小巧吸引了我 ,至今還記得23kb小巧精致 正合吾心,可是當(dāng)我要面對(duì)動(dòng)態(tài)加載一些數(shù)據(jù)控件時(shí),他卻根本做不到, 通過反射機(jī)制的ajaxpro反過去執(zhí)行類里的特定控件可不是容易事,所以即使在partial里用ajaxpro訪問cookie也只能這樣HttpContext.Current.Request.Cookies["name"].Value.ToString();得到,ajaxpro現(xiàn)在的確也支持dataset這些復(fù)雜的數(shù)據(jù)類型,今天我也訪問過他們網(wǎng)站(http://www.ajaxpro.info),也有很多對(duì)應(yīng)的例子,可是實(shí)現(xiàn)dataset可不是簡單事,服務(wù)器端代碼的編寫,客戶端代碼的編寫,都是復(fù)雜的繁雜的而且有些技術(shù)含量的東西,不利于快速的項(xiàng)目開發(fā),等到了ajaxpro.2 的時(shí)候程序集已經(jīng)增加到140kb了 ,我懷疑是不是內(nèi)置了js庫呢,或是我下了山寨版的ajaxpro ?
終于ajaxpro廢棄了第三款ajax框架JQuery都說小巧優(yōu)雅,于是用了,可是失望,在純ajax方面比ajaxpro好不了多少 ,120kb的加載量也是我不能忍受的第四款也是剛看到了,原來還有個(gè)Anthem.net 驚鴻一瞥了一下 ,失望,又是個(gè)模板式的東東,不過據(jù)反映在服務(wù)器端方法的執(zhí)行上和加載量上有優(yōu)勢 ,這點(diǎn)讓我心動(dòng)。
但是事實(shí)上還有更好的一款ajax框架,他幾乎具備了以上的所有優(yōu)點(diǎn)和不具備以上的所有缺點(diǎn)他就是XCallback 是對(duì)callback的擴(kuò)展他很簡單很優(yōu)雅很高效,通過return的分割就完美實(shí)現(xiàn)了在一個(gè)方法里共存ajax調(diào)用前的方法和數(shù)據(jù)返回后執(zhí)行的方法,這樣有很多優(yōu)點(diǎn) ,大家看看下面兩幅圖 ,看看是不是簡單,如果覺得ajax實(shí)現(xiàn)的很簡單請(qǐng)繼續(xù),如果還是覺得麻煩 ,沒什么價(jià)值,也不強(qiáng)求你看下去了
這是前臺(tái)頁面,數(shù)據(jù)從服務(wù)器返回后將執(zhí)行return之后的函數(shù)體

這是后臺(tái)頁面,只需初始化InitAjaxStyle()就可完成服務(wù)器端函數(shù)調(diào)用
