Posted on 2007-03-14 18:56
dennis 閱讀(1257)
評論(3) 編輯 收藏 所屬分類:
web開發(fā) 、
涂鴉
??? 近幾日重讀《ajax實戰(zhàn)》,對AJAX技術(shù)的理解有點改變。當(dāng)ajax開始火熱的時候,其實那時我呆的那家公司早在02年時就已經(jīng)開始用XmlHttpRequest做前后臺的異步通信,因為做的是內(nèi)部網(wǎng)應(yīng)用,通過統(tǒng)一安裝一個delphi寫ActiveX表格控件來進(jìn)行數(shù)據(jù)的展現(xiàn)和報表的打印,使用xml作為前后臺交換數(shù)據(jù)的格式。所以當(dāng)ajax技術(shù)開始火熱的時候,我以為,我所做的就是ajax應(yīng)用。買了《ajax實戰(zhàn)》,讀的也不深入,特別是前面幾個章節(jié)讀的半懂不懂,因為那時的我對javascript和設(shè)計模式等方面還沒有深入系統(tǒng)的學(xué)習(xí)過。
??? 我們都知道ajax是javascript、css、DOM和XmlHttpRequest的結(jié)合體,可使用了這些技術(shù)的應(yīng)用就一定是ajax嗎?《ajax實戰(zhàn)》提出了衡量是否是ajax應(yīng)用的四條標(biāo)準(zhǔn):
1 瀏覽器中的是應(yīng)用,而不是內(nèi)容;
2 服務(wù)器交付的是數(shù)據(jù),而不是內(nèi)容;
3 用戶和應(yīng)用的交互是連續(xù)的,大部分對于服務(wù)器的請求是隱式的而不是顯式的;
4 代碼庫式巨大的、復(fù)雜的,而且式組織良好的,這個特點對于架構(gòu)來說非常重要,需要認(rèn)真對待。
如果以這樣的標(biāo)準(zhǔn)衡量,其實我們的很多自以為是ajax應(yīng)用并非是嚴(yán)格意義上的ajax應(yīng)用,軟件的應(yīng)用可以劃分為瞬態(tài)的和獨占的,比如china-pub網(wǎng)站,這只是個瞬態(tài)應(yīng)用,我們只是偶爾去訪問它,對交互的連續(xù)性也沒有很強(qiáng)的要求;而另外如word、excel之類的應(yīng)用,需要持續(xù)不斷的交互,我們點下某個按鈕,總是期待能馬上有個效果出來,這樣的應(yīng)用就是所謂的獨占應(yīng)用。ajax技術(shù)已經(jīng)在很廣泛的瞬態(tài)應(yīng)用中實施,而ajax的趨勢是否就是獨占式應(yīng)用?gmail和google map給出了答案,以及現(xiàn)在比較火熱的web office等。可我對于此類應(yīng)用的前景并不看好,像word之類的應(yīng)用,對于實時性和安全性的要求是比較高的,而當(dāng)前網(wǎng)絡(luò)環(huán)境下的延遲和安全問題,會給此類應(yīng)用帶來相當(dāng)大的隱憂。而實現(xiàn)這樣的獨占式應(yīng)用,帶來的也是服務(wù)器非常巨大的并發(fā)量,gmail就是個典型的例子,當(dāng)你操作非常頻繁的時候,容易出現(xiàn)莫名其妙的錯誤。
??? 我仍然認(rèn)為ajax應(yīng)該成為目前web應(yīng)用的潤滑劑,它應(yīng)該應(yīng)用在細(xì)節(jié)上改善用戶體驗上,而非徹底取代桌面應(yīng)用,也不可能取代。