ASP.NET Atlas Framework概覽
最後更新:2017-02-28
來源:互聯網
上載者: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理論。