程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> AJAX與微軟的新方案

AJAX與微軟的新方案

編輯:.NET實例教程

       如果你曾參與過網絡開發,那麼對你來說,利用遠程腳本調用能力、通過AJax(Asynchronous JavaScript + XML)來開發應用軟件的最新趨勢也就不足為奇了。畢竟,這一技術多年前就已出現,只是與浏覽器不兼容罷了。微軟一直宣稱ActiveX為解決方案,但隨著AJAX技術的不斷升溫,這一情況已經改變。現在讓我們深入探究AJax革命,以及微軟的參與和方案。


AJax是什麼?

定義AJax可不象指向W3C網頁那樣簡單,因為它是幾種技術的組合。它包括如下技術:

* XHtml 和 CSS 的標准表示;
* 使用文檔對象模型DOM(Document Object Model)實現動態顯示及用戶交互;
* 使用 XML 、XSLT和XMLHttpRequest進行數據交換及操作;
* 使用 JavaScript 將所有技術綁定在一起。

AJax與傳統網絡開發的最大不同在於采用了遠程腳本調用技術。遠程調用技術允許用戶方的Javascript語言向服務器發送數據請求,而不用刷新網頁。這一任務是通過JavaScript語言與XMLHttpRequest對象來實現的。遠程腳本調用將一部分處理過程轉移到客戶(浏覽器),這大大減少了向網絡服務器的呼求數目。

微軟首次將XMLHttpRequest對象作為一個ActiveX對象應用在Windows IE5中。與這個ActiveX組件一同首次開發的還有Outlook Web Access。研發Mozilla計劃的工程師推出了Mozilla 1.0(及Netscape 7)的兼容本地版,蘋果公司也在他們的Safari 1.2中增加了這一支持。在一份提議的W3C標准中也包含了類似的功能。與此同時,XMLHttpRequest對象實際上已成為技術標准。

“中間人”

傳統的網絡應用軟件首先向HTTP服務器觸發一個用戶行為或請求的呼求。反過來,服務器執行某些任務,再向發出請求的用戶返回一個Html頁面。這是一種不連貫的用戶體驗,服務器在處理請求的時候,用戶多數時間處於等待的狀態。

AJAX則不同。它通過在用戶與服務器之間引入一個中間媒介,從而消除了網絡交互過程中的處理—等待—處理—等待缺點。用戶的浏覽器在執行任務時即裝載了AJAX引擎。AJax引擎用JavaScript語言編寫,通常藏在一個隱藏的框架中。它負責編譯用戶界面及與服務器之間的交互。AJax引擎允許用戶與應用軟件之間的交互過程異步進行,獨立於用戶與網絡服務器間的交流。

AJax不斷升溫

AJAX正受到大型公司Google及Amazon的關注。Google已將AJAX廣泛應用於其開發的Gmail、Google Suggest和Google Maps等網絡應用軟件中。(確實,在最近所有開發或改進的主要產品中,Google在AJAX方面投入了大量資金。)同樣,Amazon也推出了應用AJax技術的A9搜索引擎。每天都有許多類似的例子湧現。

微軟的AJax

當然,微軟也在著手開發更為完善的AJAX。它即將推出代號為Atlas的AJAX工具。Atlas的功能超越了AJax本身,包括整合Visual Studio的調試功能。另外,新的ASP.Net控件將使客戶端控件與服務器端代碼的捆綁更為簡便。Atlas客戶腳本框架(Atlas Clent Script Framework)也使與網頁及相關項目的交互更為便利。但Visual Studio 2005中並不包含此項功能。

微軟最近宣布Atlas客戶腳本框架將包含如下內容(詳細資料請訪問Atlas計劃網站):

* 一個可擴展的核心框架,它添加了JavaScript功能:如生命同時期管理、繼承管理、多點傳送處理器和界面管理。
* 一個常見功能的基本類庫,有豐富的字符串處理、計時器和運行任務。
* 為Html附加動態行為的用戶界面框架。
* 一組用來簡化服務器連通和網絡訪問的網絡堆棧。
* 一組豐富的用戶界面開發控件,如:自動完成的文本框、動畫和拖放。
* 處理浏覽器腳本行為差異的浏覽器兼容層面。

上述內容只是一個初步的框架。在確切的產品發布之前,這些內容很可能會有所改變。如果你等不及微軟的產品,可以先試用一下免費的微軟.NET框架AJax.Net庫。

AJax的缺點

AJax要求用戶的浏覽器支持JavaScript語言。盡管這並不是主要的問題,不過也要加以考慮。同樣,這些應用軟件必須經過嚴格的測試來適應不同的浏覽器及平台。但是,這種情形只對基於浏覽器的應用軟件而言,並不包括目標浏覽器可被控制的局域網在內。

用戶對AJAX的抱怨主要集中在浏覽器後退功能的失效上,因為在AJax下,頁面的動態更新並不被浏覽器認為是進入另一個網頁。不過,用IFRAME中的一個常用方法就可以解決該問題。

AJAX面對的另一個批評讓我覺得很有趣,有人認為AJax不過是為了推銷舊技術而引入的新名詞而已。這也許是對的,但至少它所包含的技術是成熟且經過測試的。

舊瓶裝新酒

AJAX技術在網絡開發界並不新奇,但總的來說,它對所有主流浏覽器的廣泛支持使其更易於為網絡開發界所接受並加以應用。AJax所應用的技術成熟而穩定。利用它你能夠開發出豐富的應用軟件,從而減少服務器的響應時間,這樣用戶的等待時間也相應減少

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved