瞭解 AJAX 應用程式與 ASP.NET Atlas Framework

來源:互聯網
上載者:User

  瞭解 AJAX 應用程式與 ASP.NET Atlas Framework

一、介紹

AJAX 描述一個跨平台、以 Client 端為中心的網頁應用程式開發途徑,在 AJAX 技術中程式開發人員使用 Client 端 Script 進行對伺服端應用程式的呼叫,並且此種呼叫使用以 XML 為基礎的通訊協議,微軟代號 "Atlas" 是一個 AJAX 開發方法的應用與擴充 ASP.NET 套件,這個主題描述 AJAX 所要解決的網頁應用程式開發的相關議題,解釋 AJAX 基本概念,和介紹 ASP.NET Atlas 為 AJAX 開發途徑所帶來的重大革命與增強。

AJAX 所針對的開發議題

使用者與開發人員皆能體驗到傳統網頁應用程式 Request-Response 模式所造成的局限性,因為網頁是無狀態的,故每當網頁資料或使用者介面需要變更時,必須將整個網頁 post back 到伺服器更新,意即頁面必須進行 Client 端與 Server 端之間的往返,尤其是當 Client 與 Server 之間若有極大量的資料過度頻繁的往返,將會造成者用者感受到非常漫長的等待。

另一個議題是網頁瀏覽器之中的 HTML 控制項與傳統型應用程式的 Rich UI 相較之下顯得能力有限,很多瀏覽器都包含增強 HTML 控制項,但是這些增強 HTML 控制項都是針對特定瀏覽器而實作,因此想要獲得這些增強 HTML 控制項的 Rich UI,網頁應用程式開發人員必須針對特定瀏覽器建立應用程式,這將會非常複雜,故很多開發人員避免在他們網頁之中建立以特定 Client 端特徵的功能,因此使用者發現網頁應用程式的吸引力相較於其它類型的應用程式要小得多。AJAX 開發方法是針對以上兩個開發議題提供解決方案。

二、AJAX 技術概念

AJAX 是建立在一個核心概念:使用非同步呼叫,並結合 XML 方式傳輸資料與大量使用 Client Script。

在 AJAX 技術中,程式開發人員能夠以 Client 端 Scripts 方式透過 XMLHTTP 來進行非同步 Web 服務呼叫,而 XMLHTTP 通訊協議常用於將資訊封裝成 XML 資料型式在網路間傳送,大多數的瀏覽都有實作 XMLHTTP 類別,而此類別用於建立一個進行遠程呼叫與資料收發的 proxy 對象,透過非同步方式進行呼叫,網頁中的資料與使用者介面不需要進行 Client 端與 Server 端之間的往返,結果是具有較少的資料傳送與較佳的應用程式效能,非同步呼叫能夠使得網頁應用程式能夠有更佳良好的反應性,因為使用者能夠在呼叫工作仍在 Server 端執行的同時,而在 Client 端瀏覽器繼續進行工作。

另一方面 AJAX 大量使用 Client 端 Script,特別是 JavaScript,JavaScript 是用於進行遠程呼叫、執行 Client 端應用程式的處理與建立增強使用者介面功能。

AJAX 的解決方案使用 JavaScript 並搭配其它數種 Client 端類型技術,包括了:

·     瀏覽器的 Document Object Model(DOM):DOM 將這些元素呈現在 HTML 網頁中成為標準的對象組(如 document、windows 等等),並且能夠透過程式化方式來操作它們。

·     動態超文字標記語言(DHTML):當使用者在頁面中輸入時,DHTML 透過 Client 端的 Script 方式延伸了 HTML 互動的反應能力,並且使其變得更容易,並且不需要往返的行為。

·     行為(Behaviors):這是一種程式化封裝在使用者介面中的動作(如拖曳 drag and drop 行為),並且能夠與網頁元素產生連結。

·     組件(Component):是一種能夠提供擴充 Client 端使用者介面功能特點的客制化 JavaScript 對象。

JavaScript 結合這些 Client 端技術後,使得程式開發人員足以建立能夠媲美桌上型應用程式的使用者介面功能特點,在這有兩個例子可提供給大家參考:

·     微軟 Virtual Earth 網站:一個提供電子地圖的網站。

·     微軟 Outlook Web Access:一種透過 WEB 瀏覽器收發 e-mail 的 Client 端使介面。

兩者皆展示出以 AJAX 技術所建立豐富的使用者介面與高效能之應用程式典範。

然而使用這些技術來建構 AJAX 應用程式是複雜的,直到現在程式開發人員仍必須手動建立事件處理、訊息傳遞、和建立豐富性使用者介面所需要的細節。而且再者因為 JavaScript 不是對象導向語言(OOP),故它沒有強型別、命名空間、例外事件處理與其 OOP 之特點,為這些功能特點,程式開發人員還經常必須以其它的語言來撰寫內建於其中的專屬基礎架構程式碼。

三、ASP.NET Atlas 提供一個新途徑

ASP.NET 如何能夠利用 AJAX 應用程式的威力微軟的答案是:「Atlas」,ASP.NET Atlas 提供所有 AJAX 的能力,但是卻進一步擴充其概念,並且大幅降低 AJAX 應用程式開發的複雜性,而 Atlas 同時提供了 Client 端與 Server 端兩方面的能力,說明如下:

(一)在 Client 端方面

 

Atlas 提供了一組豐富的 Script Libraries,提供了下列功能特點:

·     對象導向開發

·     Client 端的 Libraries 函式庫在 JavaScript 中加入了對象導向特性,如型別系統、資料型別、命名空間、事件等等,這些特性給予程式開發人員一個熟悉的程式撰寫入模式,使得您能夠開發出更高品質、具有維護性與可重複使用性的程式碼。

·     瀏覽器安全色性

·     Libraries 函式庫會自動處理不同瀏覽器的相容性問題,免除了撰寫特定瀏覽器的 Scripts 的必要性。

·     行為與 Client 端組件

·     Libraries 函式庫包括了常用的行為,包括了「auto-completion、drag and drop、popup 與 mouse hovering」,同時它們也加入了能夠繫結資料的組件,如此簡化了建立事件驅動的商務應用程式。

·     負責處理遠程呼叫的程式碼

·     Libraries 函式庫負責管理透過 XMLHTTP 進行非同步呼叫的複雜性,降低到只需要幾行 Script 程式碼便能進行非同步呼叫。

·     宣告式程式撰寫入模式

·     Libraries 函式庫允許您建立 Atlas 組件時使用宣告性文法,如同您建立 ASP.NET 伺服器控制項的方式一樣。

(二)在 Server 端方面

 Atlas 在 Server 端方面亦包括了豐富的伺服組件功能特點,以補充 Atlas 在 Client Script Libraries 函式庫之不足,包括了:

·     Web 伺服器控制項

·     這些 ASP.NET Atlas 伺服器控制項能夠發出 Client 端的 Script 以便您使用 Atlas 功能特點,如果您已經非常熟悉伺服端程式開發,這些伺服器控制項對您將會非常有用,或者您不必手動建立 Atlas Client 端 Scripts。

·     Web 服務

·     有一些 Web 服務能夠為 Atlas 應用程式加入非常有用的伺服端功能特點,如 ASP.NET 2.0 的 profiles。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.