ASP.NET Atlas Framework概覽

來源:互聯網
上載者:User
asp.net    介紹

  代號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特點,以提供一個廣泛的綜合性開發平台。

  8第一個目標:簡化AJAX應用程式開發

  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伺服器控制項聲明文法模式類似,這樣便能消除較為複雜的程式撰寫。

  8第二個目標:Server端與Client端並存的Atlas技術方案

  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組件所組成,具體敘述如下:

  8Atlas Client端組件

  圖1描繪了Atlas client script library架構圖。

  
  圖1 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、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伺服器控制項所組成,圖2為Atlas伺服器組件架構圖:

  伺服器端

  

  圖2 Atla伺服器端組件架構圖

  圖2意味著所有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,簡單到不可思議,最核心部分只要兩行程式碼...就足以打敗我以前修鍊一甲子還做不到的功力(呵!誇張一下,我還年輕離一甲子還很遠呢!)。

  

  圖3 Atlas自動完成伺服器控制項

   結論

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

聯繫我們

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