abstract:AJAX (Asynchronous JavaScript and XML) 是一種交互式動態(tài)web應(yīng)用開發(fā)技術(shù),該技術(shù)能提供富用戶體驗。 完全的AJAX應(yīng)用給人以桌面應(yīng)用的感覺。正如其他任何技術(shù),AJAX有它自己的優(yōu)缺點。下面我列出了一些重要的場景,你在基于web的應(yīng)用的開發(fā)中使用 時一定要注意。AJAX的優(yōu)點改善的用戶體驗- AJAX
AJAX (Asynchronous JavaScript and XML) 是一種交互式動態(tài)web應(yīng)用開發(fā)技術(shù),該技術(shù)能提供富用戶體驗。 完全的AJAX應(yīng)用給人以桌面應(yīng)用的感覺。正如其他任何技術(shù),AJAX有它自己的優(yōu)缺點。下面我列出了一些重要的場景,你在基于web的應(yīng)用的開發(fā)中使用 時一定要注意。
AJAX的優(yōu)點
改善的用戶體驗- AJAX提供的更豐富的用戶體驗是其主要優(yōu)點。AJAX允許網(wǎng)頁持續(xù)更新,但只需要和服務(wù) 器交互很少的數(shù)據(jù)。這樣,就能在不必整個更新網(wǎng)頁的情況下更新網(wǎng)頁的一部分。經(jīng)典的網(wǎng)頁技術(shù)必須整個更新網(wǎng)頁(即使你只想更新某一部分),是笨重的。 AJAX增強了瀏覽器性能,使更快的瀏覽成為可能因此提供了有求必應(yīng)的用戶體驗。
增強用戶生產(chǎn)力- AJAX 庫提供了面向?qū)ο蟮妮o助函數(shù),能給用戶減少麻煩,增強生產(chǎn)力。另外,一個良好配 置的ASP.NET應(yīng)用有它自己的數(shù)據(jù)訪問層和業(yè)務(wù)層。最后,“魯棒”的ASP.NET應(yīng)用包含UI層,在這一層執(zhí)行服務(wù)器端操作。如果你已經(jīng)包含了這些 特性,AJAX只需要一個額外的AJAX服務(wù)層和一些客戶端特性的改進。這樣,開發(fā)代價就減小了,用戶生產(chǎn)效率也就增加了。流行的站點如亞馬遜,谷歌,雅 虎等等都在開發(fā)中使用了AJAX。
減少帶寬的使用并增加速度- AJAX使用客戶端腳本來和web服務(wù)器通訊,用JavaScript來交互數(shù)據(jù)。使用AJAX能減少網(wǎng)路負載和帶寬使用并且只獲得你所需的數(shù)據(jù)。這樣能給你更快的接口和更低的響應(yīng)時間。響應(yīng)更快因此性能和速度增加了
增強兼容性- AJAX和ASP.NET,J2EE,PHP或者其他任何語言兼容。它幾乎支持所有流行的瀏覽器比如IE5及以上版本,F(xiàn)irefox1.0及以上版本,Safari1.2及以上版本,Opera7.6及以上版本,還有RockMelt。
支持異步處理- 使用XmlHttpRequest來進行異步數(shù)據(jù)獲取,這是AJAX應(yīng)用的中堅力量。所以,請求能被有效的處理,動態(tài)內(nèi)容加載被提升到一個更高的層次,性能也得到了增強
減少服務(wù)器請求和網(wǎng)絡(luò)負載-Atlas,微軟AJAX庫的一種較老的形式,是一個整合了客戶端JavaScript庫并且易用的框架,能和ASP.NET一起開發(fā)AJAX應(yīng)用。它提供了跨瀏覽器支持和面向?qū)ο蟮腁PI,這用來能開發(fā)具有最小化服務(wù)器請求/網(wǎng)路負載的應(yīng)用,并能實現(xiàn)異步處理
更容易導航-AJAX應(yīng)用能被用來簡化用戶在網(wǎng)頁間的過渡,而不需要使用傳統(tǒng)的前進后退鍵
AJAX的缺點
瀏覽器不兼容-AJAX高度依賴JavaScript,而不同的瀏覽器對JavaScript支持性不同。這成 了一個問題,尤其是當AJAX必須跨許多瀏覽器工作的時候。那些不支持JavaScript或者不支持JavaScript某些選項的瀏覽器將不能夠正常 使用ajax。由于ajax對JavaScript的依賴性,它不適用移動應(yīng)用。你的web瀏覽器的后退鍵不能如期運行。
不安全性-網(wǎng)頁可能很難調(diào)試,增加網(wǎng)頁的代碼量,你的網(wǎng)頁更可能遇上嚴峻的安全威脅。
增加Web服務(wù)器的負載-如果你增加一個自動更新的功能,它每隔幾秒向服務(wù)發(fā)起請求,那么就會增加服務(wù)器的負載。