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