我們都知道,VS.NET2005的確是比VS.NET2003更加方便,但是有一個(gè)問題就是用慣了2003的人在用2005時(shí)會(huì)感到有些不適應(yīng),連一些快捷鍵都變了。不過,對(duì)于我們程序員來說,這算不了什么,反正都是要學(xué)習(xí)新東西的,這點(diǎn)倒是難不到我們。AJAX也一樣,也有一些用戶習(xí)慣上的問題,我們先來看看AJAX的工作模式跟傳統(tǒng)的web工作模式有什么區(qū)別,為簡(jiǎn)單起見,我用就網(wǎng)上copy下來的圖片吧~~

在傳統(tǒng)的web模式中,用戶與應(yīng)用程序交互是一個(gè)直接的、間斷的操作,用戶的訪問是非常明顯的斷開式的。Ajax中,用戶與應(yīng)用程序之間多了一個(gè)Ajax引擎,就是她,讓我們的web應(yīng)用也可以不刷新了,從圖中可以清楚的發(fā)現(xiàn),在整個(gè)交互過程中,有3個(gè)角色,其中,用戶跟ajax引擎都可以連續(xù)不間斷的工作,只有服務(wù)器端的應(yīng)用程序在“斷斷續(xù)續(xù)”的工作。好了,現(xiàn)在我們知道為什么頁面可以不刷新了,其實(shí)就是ajax引擎在幫助我們,由他去向服務(wù)器發(fā)送請(qǐng)求,也由他接受服務(wù)器的相應(yīng),我們就坐在旁邊喝茶就好了,哈哈。
好了,頁面不刷新所帶來的問題出現(xiàn)了。我們都知道,web應(yīng)用不可以像windows應(yīng)用那樣隨意的控制界面,原因不僅僅是因?yàn)榻换ツJ降年P(guān)系,還因?yàn)榫W(wǎng)絡(luò)傳輸延遲的問題,ajax可以處理交互的問題,但是不能處理延遲的問題(至少現(xiàn)在還是,我覺得可以通過“曲線救國(guó)”的方式來處理)。我在本機(jī)做了一個(gè)測(cè)試,在我的服務(wù)器端的方法中執(zhí)行一個(gè)循環(huán),人為的加大延遲來模擬網(wǎng)絡(luò)傳輸?shù)那闆r(其實(shí)很多大方法本來就是這樣的),功能是一點(diǎn)問題也沒有,但是頁面上是一點(diǎn)反應(yīng)也沒有,用戶不會(huì)知道是怎么回事,他們只會(huì)認(rèn)為是沒有點(diǎn)擊到按鈕,然后就一陣狂點(diǎn),雖然程序不一定出錯(cuò)(插入數(shù)據(jù)的那種就說不準(zhǔn)了,大家可以試試,我估計(jì)是會(huì)插入N條記錄的,但沒有測(cè)試過),但用戶會(huì)很不爽,因?yàn)樗麄円呀?jīng)習(xí)慣了現(xiàn)在的操作方式,點(diǎn)擊一下,然后看見進(jìn)度條出現(xiàn),或者去看別的網(wǎng)頁,或者聊兩句qq,反正他是知道他的點(diǎn)擊已經(jīng)起作用了,但ajax(至少現(xiàn)在是這樣的)會(huì)讓他一直在這個(gè)頁面上,不是等待,而是一直工作……用戶不抓狂才怪了
讓用戶改變自己的習(xí)慣?不可能,至少非常困難,別說這個(gè),就連讓他們的工作“無紙化”都要培訓(xùn)好久好久。我覺得,最好的辦法還是由我們來讓ajax更加人性化。