ASP.NET Atlas Framework概覽
添加時間:2014-10-4 3:41:07
添加:
思海網絡
代號Atlas是一項新的ASP.NET網頁開發新技術,在ASP.NET 2.0 服務器開發平臺下集成Client端的 Libraries,Atlas對于網頁開發所構建的AJAX策略能夠讓你從Client端調用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 特點,以提供一個廣泛的綜合性開發平臺。
8第一個目標:簡化AJAX應用程序開發
Atlas第一個目標是幫助你建立AJAX應用程序,因為AJAX本身具有一定的復雜性,而Atlas則替您管理開發AJAX應用程序所會面臨的復雜性,提供的特色包括了:
1. 在Java程序開發方面提供了一致性且具有面向對象特性的APIs。
2. 瀏覽器的兼容性,故您不必為了多種瀏覽器而另外撰寫額外程序與部署組件,您的Web應用程序就可以跨瀏覽器而執行。
3. 提供支持Rich UI特點的Client端 APIs和組件,能夠令你免除開發AJAX類型應用程序必須撰寫大量程序代碼的情形,舉例來說,Atlas提供常用的Drag and Drop行為,且能夠令您在綁定這些HTML控件時所需的程序代碼量達到最小。
4. Atlas的聲明式語法與ASP.NET服務器控件聲明語法模式類似,這樣便能消除較為復雜的程序撰寫。
8第二個目標:Server端與Client端并存的Atlas技術方案
Atlas第二個目標是集成Client ing在ASP.NET服務器的程序開發,有別于以往程序的開發不是專注在Client端就是專注在Server端的情形,Atlas同時提供了Client端與Server端的工具,無論什么樣的情況下Atlas都可以協助您處理大多數的應用程序開發,ASP.NET為Atlas應用程序提供了下列服務器的特點:
1. Web Service和Atlas應用程序之間的集成將會非常有用,如Profiles服務。
2. ASP.NET網頁服務器控件將會發出Atlas應用程序所需的Client ,使用這些控件將會使得開發Atlas應用程序更為容易,因為那會減少需要學習Atlas Client APIs及組件所需的工作。
3. 集成如Visual Studio的開發工具將會提供一個開發設計時期的環境、查錯、完整說明、管理與生產力增強的特點。
Atlas架構
Web應用程序最小需求只要Atlas Client Library來調用Web服務器上的服務或應用程序即可,但作為一個最好的開發選項與工具而言,你可能會想要使用Server端的Altas組件,而Atlas架構同時由Client Library與Server端的Altas組件所組成,具體敘述如下:
8Atlas Client端組件
圖1描繪了Atlas client library架構圖。
圖1 Atlas Client端組成組件架構圖
Atlas Client Library是由一些Java(.js)文件所組成的,并且提供了面向對象特性以供程序開發,這不是之前的ing開發環境而已,它提供了一種新的一致性與模塊化層次,Atlas Client Library包括了:
1. 瀏覽器兼容層:為Atlas s提供了跨瀏覽器的兼容性。
2. Atlas核心服務:包含了一些Java延伸,如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、ed、綁定到Atlas行為如drag and drop等等,這層包含如auto-completion文字方塊、一般類型控件、具有data-bound能力的ListView控件,以及導航控件。
Atlas服務器組件
Atlas服務器組件主要是由ASP.NET Web Services及ASP.NET服務器控件所組成,圖2為Atlas服務器組件架構圖:
Atlas也包含ASP.NET服務器的組件,包括Web Services及服務器控件,這些組件能夠與Client 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 的能力,Atlas服務器控件簡化了產生Atlas Client 過程,適合想要專注在服務器開發的程序開發者,Atlas包含了完整服務器控件如Button、Label、Option、TextBox、CheckBox、HyperLink和Validator等,與現有ASP.NET服務器控件非常接近;也有Atlas伺制項能夠發出Java產生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,簡單到不可思議,最核心部分只要兩行程序代碼...就足以打敗我以前修煉一甲子還做不到的功力(呵!夸張一下,我還年輕離一甲子還很遠呢!)。
結論
這種發展策略能夠令你建立一種新類型的Web應用程序,而且具有許多超越傳統Web開發的一些利益優點,AJAX類型應用程序能夠提供較好的性能、跨瀏覽器運作、且能讓你建立更為豐富的用戶接口特色。
ASP.NET的Atlas套用了這種新策略在Web應用程序構建上,同時加入了Client端及Server端的開發組件來大大增強Atlas的AJAX開發能力。
Atlas目標
Atlas主要在以下兩方面提供開發者廣泛的應用程序建置區塊:
1. 幫助程序開發人員建立Atlas應用程序。
2. 在Server端的ASP.NET中集成Atlas client 特點,以提供一個廣泛的綜合性開發平臺。
8第一個目標:簡化AJAX應用程序開發
Atlas第一個目標是幫助你建立AJAX應用程序,因為AJAX本身具有一定的復雜性,而Atlas則替您管理開發AJAX應用程序所會面臨的復雜性,提供的特色包括了:
1. 在Java程序開發方面提供了一致性且具有面向對象特性的APIs。
2. 瀏覽器的兼容性,故您不必為了多種瀏覽器而另外撰寫額外程序與部署組件,您的Web應用程序就可以跨瀏覽器而執行。
3. 提供支持Rich UI特點的Client端 APIs和組件,能夠令你免除開發AJAX類型應用程序必須撰寫大量程序代碼的情形,舉例來說,Atlas提供常用的Drag and Drop行為,且能夠令您在綁定這些HTML控件時所需的程序代碼量達到最小。
4. Atlas的聲明式語法與ASP.NET服務器控件聲明語法模式類似,這樣便能消除較為復雜的程序撰寫。
8第二個目標:Server端與Client端并存的Atlas技術方案
Atlas第二個目標是集成Client ing在ASP.NET服務器的程序開發,有別于以往程序的開發不是專注在Client端就是專注在Server端的情形,Atlas同時提供了Client端與Server端的工具,無論什么樣的情況下Atlas都可以協助您處理大多數的應用程序開發,ASP.NET為Atlas應用程序提供了下列服務器的特點:
1. Web Service和Atlas應用程序之間的集成將會非常有用,如Profiles服務。
2. ASP.NET網頁服務器控件將會發出Atlas應用程序所需的Client ,使用這些控件將會使得開發Atlas應用程序更為容易,因為那會減少需要學習Atlas Client APIs及組件所需的工作。
3. 集成如Visual Studio的開發工具將會提供一個開發設計時期的環境、查錯、完整說明、管理與生產力增強的特點。
Atlas架構
Web應用程序最小需求只要Atlas Client Library來調用Web服務器上的服務或應用程序即可,但作為一個最好的開發選項與工具而言,你可能會想要使用Server端的Altas組件,而Atlas架構同時由Client Library與Server端的Altas組件所組成,具體敘述如下:
8Atlas Client端組件
圖1描繪了Atlas client library架構圖。
圖1 Atlas Client端組成組件架構圖
Atlas Client Library是由一些Java(.js)文件所組成的,并且提供了面向對象特性以供程序開發,這不是之前的ing開發環境而已,它提供了一種新的一致性與模塊化層次,Atlas Client Library包括了:
1. 瀏覽器兼容層:為Atlas s提供了跨瀏覽器的兼容性。
2. Atlas核心服務:包含了一些Java延伸,如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、ed、綁定到Atlas行為如drag and drop等等,這層包含如auto-completion文字方塊、一般類型控件、具有data-bound能力的ListView控件,以及導航控件。
Atlas服務器組件
Atlas服務器組件主要是由ASP.NET Web Services及ASP.NET服務器控件所組成,圖2為Atlas服務器組件架構圖:
Atlas也包含ASP.NET服務器的組件,包括Web Services及服務器控件,這些組件能夠與Client 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 的能力,Atlas服務器控件簡化了產生Atlas Client 過程,適合想要專注在服務器開發的程序開發者,Atlas包含了完整服務器控件如Button、Label、Option、TextBox、CheckBox、HyperLink和Validator等,與現有ASP.NET服務器控件非常接近;也有Atlas伺制項能夠發出Java產生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理論。
關鍵字:ASP.NET、服務器、應用程序
新文章:
- CentOS7下圖形配置網絡的方法
- CentOS 7如何添加刪除用戶
- 如何解決centos7雙系統后丟失windows啟動項
- CentOS單網卡如何批量添加不同IP段
- CentOS下iconv命令的介紹
- Centos7 SSH密鑰登陸及密碼密鑰雙重驗證詳解
- CentOS 7.1添加刪除用戶的方法
- CentOS查找/掃描局域網打印機IP講解
- CentOS7使用hostapd實現無AP模式的詳解
- su命令不能切換root的解決方法
- 解決VMware下CentOS7網絡重啟出錯
- 解決Centos7雙系統后丟失windows啟動項
- CentOS下如何避免文件覆蓋
- CentOS7和CentOS6系統有什么不同呢
- Centos 6.6默認iptable規則詳解