ASP.NET Atlas Framework 概觀

來源:互聯網
上載者:User
 一、介紹

代號 Atlas 是一個新的 ASP.NET 網頁開發新技術,在 ASP.NET 2.0 伺服器開發平台下整合 Client 端的 Script Libraries,Atlas 對於網頁開發所建構的 AJAX 策略是能夠讓你從 Client 端 Script 呼叫 Server 端的網頁應用程式,Atlas 能夠處理在 Client 端應用程式重要部分而不必往返 Server 端更新 Page 頁面。

這種發展策略能夠令你建立一種新型態的 Web 應用程式,而且具有許多超越傳統 Web 開發的一些利益優點,AJAX 類型應用程式能夠提供較好的效能、跨瀏覽器運作、且能讓你建立更為豐富的使用者介面特色。

ASP.NET 的 Atlas 套用了這種新策略在 Web 應用程式建置上,同時加入了 Client 端及 Server 端的開發組件來大大增強 Atlas 的 AJAX 開發能力。

二、Atlas 目標

Atlas 主要目標是在以下兩方面目的提供開發人員廣泛的應用程式建置區塊:

1.      協助程式開發人員建立 Atlas 應用程式。

2.      在 Server 端的 ASP.NET 之中整合 Atlas client script 特點,以提供一個廣泛的綜合性開發平台。

(一)第一個目標

Atlas 第一個目標是協助你建立 AJAX 應用程式,因為 AJAX 本身具的一定的複雜性,而 Atlas 則替您管理開發 AJAX 應用程式所會面臨的複雜性,提供的特色包括了:

1.      在 JavaScript 程式開發方面提供了一致性且具有對象導向特性的 APIs。

2.      瀏覽器的相容性,故您不必為了多種瀏覽器而另外撰寫額外程式與部署組件,您的 Web 應用程式就可以跨瀏覽器而執行。

3.      提供支援 Rich UI 特點的 Client 端 Script APIs 和組件,能夠令你免除開發 AJAX 類型應用程式必須撰寫大配量序代碼的情形,舉例來說 Atlas 提供常用的 Drag and Drop 行為,且能夠令您在繫結這些 HTML 控制項時所需的程式碼達到最小。

4.      Atlas 的宣告性文法與 ASP.NET 伺服端控制項宣告文法模式類似,如此便能消除較為複雜的程式撰寫。

(二)第二個目標

Atlas 第二個目標是整合 Client Scripting 在 ASP.NET 伺服端的程式開發,有別於以往程式的開發不是只專註在 Client 端就是專註在 Server 端的情形,Atlas 同時提供了 Client 端與 Server 端的工具,無論什麼樣的情況下 Atlas 都可以協助您處理大多數的應用程式開發,ASP.NET 為 Atlas 應用程式提供了下列伺服端的特點:

1.      Web Service 和 Atlas 應用程式之間的整合將會非常有用,如 Profiles 服務。

2.      ASP.NET 網頁伺服器控制項將會發出 Atlas 應用程式所需的 Client Script,使用這些控制項將會使得開發 Atlas 應用程式更為容易,因為那會減少需要學習 Atlas Client Script APIs 及組件所需的工作。

3.      整合如 Visual Studio 的開發工具將會提供一個開發設計時期的環境、偵錯、完整說明、管理與生產力增強特點。

三、Atlas 架構

Web 應用程式最小需求只要 Atlas Client Script Library 來呼叫 Web 服務器上的服務或應用程式即可,但做為一個最好的開發選項與工具而言,你可能會想要使用 Server 端的 Altas 組件,而 Atlas 架構同時由 Client Script Library 與 Server 端的 Altas 組件所組成,以下為敘述:

(一)Atlas Client 端組件

描繪出 Atlas client script library 架構圖:

圖 3 Atlas Client 端組成組件架構圖

Atlas Client Script Library 是由一些 JavaScript(.js) 檔案所組成,並且提供了對象導向特性以供程式開發,這不是之前的Scripting開發環境而已,它提供了一個新的一致性與模組化層次,Atlas Client Script Library 包括了:

1.      瀏覽器相容層:為 Atlas scripts 提供了跨瀏覽器的相容性。

2.      Atlas 核心服務:包含了一些 JavaScript 延伸,如 class、namespace、事件處理、繼承、資料型別與對象序列化。

3.      Atlas 基底類別庫:包含 string builders、Debuggers、Timers、Tracing 組件。

4.      網路層:負責處理與 Web Service 及應用程式之間的溝通,以及管理非同步遠程方法呼叫。

5.      UI 層:提供一些 Atlas Client 端的能力,包括 behaviors s、Atlas 宣告文法、UI 組件及資料繫結。

6.      Atlas 控制項層級:為 Client 端開發提供了特定 Atlas 控制項,這些控制項能具有 data bound、Scripted、繫結到 Atlas 行為如 drag and drop 等等,這層包含如 auto-completion 文字方塊、一般型式控制項、具有 data-bound 能力的 ListView 控制項,及導覽控制項。

(二)Atlas 伺服端組件

Atlas 伺服端組件主要是由 ASP.NET Web Services 及 ASP.NET 伺服器控制項所組成,下面為 Atlas 伺服端組件架構圖:

圖 4 Atlas 伺服端組件架構圖

意謂著所有 ASP.NET 的功能特點夠完全被 Atlas 應用程式來取用。

Atlas 也包含 ASP.NET 伺服端的組件,包括 Web Services 及伺服器控制項,這些組件能夠與 Client Script Libraries 結合在一起運作,Atlas 能夠獲得來自 Web Services 的一些利益優點,包括了:

1.      Profile 服務能夠持久化儲存在 Server 上。

2.      Membership 服務能夠提供驗證的選擇。

3.      Role 服務能夠為 Atlas 應用程式提供以角色為基礎的驗證。

4.      Personalization 服務能夠持久化儲存使用者特定資料或網頁特定資料到 Server 上。

5.      Globalization 與 Culture-specific 服務也能夠被 Atlas 取用呼叫。

ASP.NET 亦包括了類似 ASP.NET 伺服器控制項的 Atlas 伺服器控制項,但是 Atlas 伺服器控制項卻具有能夠發出 Client Script 的能力,Atlas 伺服器控制項簡化了產生 Atlas Client Script 過程,適合想要專註在伺服端開發的程式開發人員,Atlas 包含了完整伺服器控制項如 Button、Label、Option、TextBox、CheckBox、HyperLink、Validator 等等,與現有 ASP.NET 伺服器控制項非常接近;也有 Atlas 伺制項能夠發出 JavaScript 產生 Client 端行為,包括 HoverBehavior 控制項、ClickBehavior 控制項、Popup 控制項與 AutoCompleteBehavior 控制項,所有控制項將會整合進 Visual Studio 之中,故你可以在設計模式中使用它們如同你在使用一般 ASP.NET 伺服器控制項一般。

而 Atlas Framework 安裝套件亦已經提供測試版下載使用,其中提供了五個 Hands-On-Lab,為了瞭解 Atlas Framework 本身的奧秘,筆者本身也實際安裝測試使用,在做完前三個 Lab 時,仍不能明顯感受到它與手工或者其它的 AJAX Library 有什麼明顯區別,心中想難道是微軟誇大其詞?但在做完第四個 Lab 之後,Atlas 的感覺就來了,可以明顯體驗到 Atlas 優越之處,果然有 Framework 層級的味道,而非僅僅是個 Library 函式庫水平而已,像在 Web 中的 TextBox 控制項裡要做到像電子字典般 Key 開頭幾個英文字,接著畫面就列示相關的英文字供選擇,或者是以前有個朋友曾問我,他想在 ASP.NET 1.0 的 TextBox 控制項中輸入幾個開頭的訂單號碼,然後畫面就...咚咚咚,從資料庫調相關的記錄列示在畫面上供業務人員選取,我很直接的告訴他 ~ 我不會,二年後過去了,解答就在這 ~ Atlas Framework,簡單到不可思議,最核心部分只要兩行程式碼...就足以打敗我以前修練一甲子還做不到的功力(呵~誇張一下,我還年輕離一甲子還很遠呢!)。

在看完 Atlas Framework 功能及架構之後您是不是躍躍欲試心動不已呢!我瞭解現代人速成之心,沒空耐著性子慢慢修或研究 AJAX 理論一年半載後再來實作,故下期我將介紹 Atlas Framework 實際上手的 Labs,教您直接揮舞 Atlas 這把鋒利的寶劍,您就會領略什麼是 Atlas,有了 Sense 之後再來討論更深層的 AJAX 理論,您會比較有感覺,下期見。

圖5 Atlas伺服端的自動完成

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.