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