官术网_书友最值得收藏!

1.2 重新設計Web應用

傳統Web應用的不足一直突顯在用戶面前,用戶常常抱怨系統的響應速度太慢。除了網絡帶寬的限制、業務邏輯復雜、硬件設備制約等因素外,頻繁的頁面刷新以及每次響應都必須下載整個響應頁面,也導致了響應速度變慢。因此,傳統Web應用必須重新改進。

1.2.1 富Internet應用

B/S結構已成為應用程序開發的默認結構。用戶對應用程序復雜性要求日增,Web應用程序對完成復雜邏輯始終差強人意。

傳統網絡程序的開發是基于頁面的、服務器端數據傳遞的模式,把網絡程序的表示層建立于HTML頁面之上,而HTML適合于文本顯示,傳統的基于HTML頁面的系統已經不能滿足網絡瀏覽者更高的、全方位的體驗要求。這就是“體驗問題”(Experience Matters),而富Internet應用(Rich Internet Applications,RIA)的出現就是為了解決這個問題。目前Web領域和桌面軟件領域正逐步向RIA靠攏,預計三五年后RIA的時代將會完全到來。

對于理想的RIA,用戶無須安裝任何客戶端軟件,只需擁有瀏覽器。一個典型的富客戶端應用是百度地圖。百度地圖支持鼠標的拖動、放大、縮小。地圖隨著鼠標的拖動而拖動,但頁面本身卻無須重新加載。如果鼠標拖動得太遠,可能出現部分空白區域,但這種空白只是地圖區域在加載,而不是整個頁面在加載。

當使用鼠標單擊地圖上的提示點時,地圖上將出現對該點更詳細的介紹。圖1-4所示為百度地圖中的黃鶴樓信息。

圖1-4 百度地圖應用

1.2.2 Ajax的實際應用

Ajax本質上是一種RIA,而且其優勢非常明顯。基于Ajax的應用無須瀏覽器下載任何插件,并且可以在任何平臺上良好運行。

從本質上看,Ajax就是異步發送請求JavaScript,也包括動態裝載服務器數據。圖1-5所示為異步發送請求的示意圖。

圖1-5 異步發送請求

Ajax除了異步發送請求外,還能動態加載服務器響應數據。使用Ajax能避免頻繁刷新頁面,服務器響應的是數據,而不是整個頁面內容。Ajax負責獲取服務器數據,然后將服務器數據動態加載到瀏覽器中。

Ajax還有個顯著的優勢是:所用的技術大都是些“古老”的技術,例如JavaScript、DOM、CSS等。同時,這些技術都是標準化的,并不屬于任何特定的廠商,目前所有瀏覽器都對Ajax技術支持良好。所以,Ajax技術自從2005年問世以來,已在業界得到迅速推廣,到現在已很難找到沒有使用Ajax的B/S的應用了。

Ajax使用簡單的XMLHttpRequest對象發送請求,使用簡單的JavaScript函數監視服務器響應。在服務器響應完成后,JavaScript通過DOM動態更新HTML頁面。自始至終,用戶的動作無須中斷,所感受到的是一種連續的體驗。

主站蜘蛛池模板: 抚远县| 清水河县| 聂荣县| 安吉县| 长治市| 城口县| 西乌珠穆沁旗| 屯留县| 鄂托克旗| 洛南县| 顺昌县| 通州区| 平昌县| 中超| 兴义市| 德清县| 龙胜| 拜城县| 安岳县| 长葛市| 文登市| 湘潭县| 香港| 娄烦县| 寻乌县| 海宁市| 潮州市| 昆明市| 若尔盖县| 高淳县| 皮山县| 东源县| 华安县| 平潭县| 盱眙县| 海原县| 名山县| 长顺县| 灌南县| 青岛市| 遵义县|