微軟 ASP.NET 2.0 的 AJAX 利劍 ~ Atlas Framework
MSDN 程式開發(fā)講座:
微軟 ASP.NET 2.0 的 AJAX 利劍 ~ Atlas Framework
作者:奚江華
- 【ASP.NET網(wǎng)頁(yè)設(shè)計(jì)與C#】書籍作者
- DotNet 開發(fā)聖殿 Blog 殿祭司
前言
| |||||||||||
自從 2002 年 VS.NET 2002 版的發(fā)表,微軟的網(wǎng)頁(yè)技術(shù)正式由 ASP 邁向新的 ASP.NET 里程碑,劃時(shí)代的 ASP.NET 在短短幾年時(shí)光躍居成為熱門主流,順利攻佔(zhàn)資訊媒體與網(wǎng)頁(yè)程式開發(fā)人員的目光焦點(diǎn),深獲大家的喜愛與讚賞,同時(shí)也造就全球一股 .NET 熱潮,於此時(shí)您看見本篇文章時(shí),下一代的 VS 2005 與 ASP.NET 2.0 已經(jīng)正式發(fā)表(美國(guó) 11/7 日),由於前一代 ASP.NET 1.0 技術(shù)的成功,很自然的大家早就引領(lǐng)期盼 ASP.NET 2.0 豐富控制項(xiàng)與底層功能完整性能夠早日到來,但如果您只知道 ASP.NET 2.0、VS 2005 產(chǎn)品或技術(shù),目前您已置身於 ASP.NET 技術(shù)危機(jī),因?yàn)樵谀翅嵴幸话丫薮蟮睦麆︼w來,一個(gè)不小心就穿刺您堅(jiān)強(qiáng)的技術(shù)盔甲,有這麼誇張嗎?一點(diǎn)也不誇張!因?yàn)橐粋€(gè)火候尚淺的 ASP.NET 初學(xué)者只要巧妙熟練運(yùn)用這把利劍,在某些 ASP.NET 網(wǎng)頁(yè)設(shè)計(jì)環(huán)結(jié)就能擊敗功力深厚的網(wǎng)頁(yè)程式設(shè)計(jì)師,而經(jīng)驗(yàn)老道的網(wǎng)頁(yè)程式設(shè)計(jì)師還不知自己敗在何處,那這把從虛空飛來的利劍叫什麼名字呢?它叫「Atlas」,是一個(gè) AJAX 的 Framework,掌握了這把利劍如同掌握了電影「臥虎藏龍」中的青冥寶劍,能夠在剎那之間擊敗最強(qiáng)的敵手(隱喻網(wǎng)頁(yè)設(shè)計(jì)的難題),以下將為您解釋什麼是 AJAX,什麼又是 Atlas Framework。
AJAX 非同步 技術(shù)
AJAX 是由「Asynchronous JavaScript and XML」這幾個(gè)英文字的開頭所組成,是一種非同步的技術(shù),表面上看來是「非同步」、「JavaScript 」、「XML」這三種東西,好像沒什麼了不起!?大家多多少少都有玩過,寫網(wǎng)頁(yè)的人多少都懂 JavaScript,有的人熟到不能再熟了,XML 也有摸過,至於同不同步好像不重要,幾個(gè)月前我第一次看到 AJAX 這字眼時(shí)直覺就是如此,想說~又要新瓶裝舊酒或冷飯熱炒了嗎?所以瞄過一眼國(guó)外文章後就匆匆?guī)н^,但接連三天 "AJAX" 這個(gè)字眼在美國(guó)微軟的 MSDN Blog 中一堆專家接二連三提出,我才感覺苗頭好像不對(duì),竟然有我不知道的技術(shù)存在(如果 AJAX 很重要很 Power 的話),故深入 Study 一下 AJAX 原理與技術(shù),OH~My GOD!還真的蠻 Power 的。
大家都知道 JavaScript 是 Client 端古老的王者,而 .NET 是新一代 Server 端的究極霸主,在大多數(shù)時(shí)候兩者之間幾乎是不相干,因?yàn)楦髯龈鞯?#xff0c;AJAX 它 Power 的地方似乎不在於「Asynchronous JavaScript and XML」表面上技術(shù),而重點(diǎn)在於 AJAX 能夠巧妙將 Client 端與 Server 端技術(shù)串起來融合在一起,Client 端一旦能夠援引 Server 端的應(yīng)用程式,您將會(huì)發(fā)覺所設(shè)計(jì)的網(wǎng)頁(yè)力量將源源不絕,而這用傳統(tǒng)的 ASP 或 ASP.NET 來說似乎 "不可能" ,因?yàn)?Web 是無狀態(tài),故 Browser 和 Web Server 之間是不會(huì)有任何連線,只會(huì)有所謂的 Request 與 Response 的行為,且兩者的記憶體管理空間和模式根本是兩個(gè)世界,故 JavaScript 要和 .NET Code 無礙地融合也不太可能,但透過 AJAX 非同步模式的力量,可使得 JavaScript 能夠自由自在呼叫 C#、VB.NET 或 Web Service 強(qiáng)大的力量,然後還能回傳 .NET 型別物件如 DataSet 供 JavaScript 來處理;除此之外 AJAX 非同步技術(shù)只需傳遞少量資料回 Server 處理,不像現(xiàn)在必須用 Postback 大笨牛的方式將整個(gè)頁(yè)面回傳 Server 端處理,從此可以和 Postback 大笨牛 Say bye bye,動(dòng)作靈巧得不可思議!(但意思不是要丟棄 Postback,而是視需要使用 AJAX 可以更靈活)。
OK!言歸正傳,那要如何使用 AJAX 呢?首先我要澄清一點(diǎn) AJAX 只是一種 "概念" ,意思是透過「Asynchronous JavaScript and XML」這三類的技術(shù)實(shí)作出來的東西都可稱做 AJAX,而非指特定某個(gè)元件或產(chǎn)品,就我目前所知要實(shí)作 AJAX 有幾種方式:
- 完全手工自己打造 AJAX:缺點(diǎn)是對(duì)大多數(shù)人而言太困難也太耗時(shí),同時(shí)對(duì) AJAX 知識(shí)也非常欠缺。
- 使用 Callback 方式:缺點(diǎn)是只支援 ASP.NET 2.0,且功能仍不夠完整。
- 使用現(xiàn)成的 AJAX Library:但 Library 畢竟只是 Library,和 Framework 比起來稍微遜色了點(diǎn),但優(yōu)點(diǎn)是可免費(fèi)取得,同時(shí)適用 ASP.NET 1.0 與 2.0,不失為一個(gè)好途徑。
- 微軟 Atlas Framework:優(yōu)點(diǎn)是定位在 Framework 層級(jí),初步的規(guī)劃與設(shè)計(jì) Scope 較為完整,同時(shí)兼顧與考量 Client 端與 Server 端,遺憾是只支援 ASP.NET 2.0。
AJAX 簡(jiǎn)單範(fàn)例
為了讓各為能夠瞭解什麼是 AJAX,以下是一個(gè) AJAX 的手工範(fàn)例(意即不引用任何的 Library 或 AJAX framework),此範(fàn)例頗為精要易懂,其作用主要是透過 Client 端的 Browser 來即時(shí)監(jiān)控 Web 伺服器資源或效能變化,各位只要做過一遍範(fàn)例就能夠瞭解 AJAX 在網(wǎng)頁(yè)開發(fā)上是多麼具有威力了。
Step 1:建立 Web 專案
首先在 VS.NET 2003(或 VS 2005)建立一個(gè) WEB 專案,專案名稱為「SimpleAJAX」,或者您沒有 VS 開發(fā)工具,直接用筆記本建立也行。
Step 2:建立 Client 端頁(yè)面
請(qǐng)?jiān)?Web 專案中加入一個(gè) Client 端頁(yè)面「Client.htm」,並將此頁(yè)面設(shè)定為起始頁(yè),這個(gè)頁(yè)面會(huì)向 Web 伺服器網(wǎng)頁(yè)發(fā)出非同步呼叫請(qǐng)求,並且將伺服器回傳資料更新到網(wǎng)頁(yè)元素中,程式碼如下:
圖1 Client.htm 頁(yè)面
Step 3:建立 Server 端處理程式
另外在專案中加入一個(gè) Receive.aspx 網(wǎng)頁(yè)(含.cs),程式碼如下:
圖 2 Receive.aspx 頁(yè)面
執(zhí)行結(jié)果:
執(zhí)行後約花 5 秒啓始 PerformanceCounter 物件,之後透過 AJAX 便可每秒獲得 Server 可用記憶體變化情形,當(dāng)然也許有的人會(huì)想到用 Server side 的 Timer,但那種方式會(huì)造成 Server 的 Loading 爆增,人多的話還可能搞垮你的 Server,但 AJAX 就具有極佳的彈性與靈巧,透過 AJAX 您可以即時(shí)偵測(cè)到資料庫(kù)或事件的變化,即時(shí)顯現(xiàn)在網(wǎng)頁(yè)上,比如說我有十臺(tái) WEB Server(只開 Port 80),以 AJAX 這種方式即可以單一網(wǎng)頁(yè)上監(jiān)控到十臺(tái) Server CPU 與記憶體或網(wǎng)路流量等大小,是不是十分具吸引力呢。
圖 3 伺服器每秒記憶體變化情形
程式說明:
這個(gè)應(yīng)用程式有幾個(gè)特點(diǎn):
為了讓大家能夠正確瞭解 AJAX 與 Atlas Framework 藍(lán)圖與策略,以下介紹微軟兩篇文章:
這篇文章開始是介紹傳統(tǒng) ASP.NET 網(wǎng)頁(yè)程式開發(fā)和侷限性,進(jìn)而介紹 AJAX 技術(shù)概觀及其優(yōu)點(diǎn),而微軟針對(duì) AJAX 技術(shù)提出一個(gè)新的 Atlas Framework 來簡(jiǎn)化 AJAX 複雜的程式開發(fā),最後簡(jiǎn)單說明 Atlas Framework 架構(gòu)組成及功能性。
本篇文章揭露 Atlas Framework 功能設(shè)計(jì)及整體概觀,解說 Atlas Framework Client 端與 Server 端之功能架構(gòu),對(duì)於 Atlas 能夠同時(shí)兼顧與整合 Client 端與 Server 端功能這是一個(gè)高明的策略,因?yàn)槿糁皇羌兇饪剂?Client 端 JavaScript 呼叫或頁(yè)面處理必定會(huì)大大限制了 AJAX 應(yīng)用程式開發(fā),無法徹底發(fā)揮 ASP.NET 2.0 所有 Server 端的優(yōu)勢(shì),且程式開發(fā)人員必須持續(xù)性與 Client 端前端呼叫或資料處理繁瑣工作糾纏,這種做法將會(huì)大打折扣,慶幸的是 Atlas Framework 一開始就走上正確的路,透過 Atlas 控制項(xiàng)來開發(fā) AJAX 應(yīng)用程式或功能,幾行的程式碼便能完成以前需數(shù)週或者根本無從下手的網(wǎng)頁(yè)功能(如網(wǎng)頁(yè)的自動(dòng)完成)。
瞭解 AJAX 應(yīng)用程式與 ASP.NET Atlas Framework
一、介紹
AJAX 描述一個(gè)跨平臺(tái)、以 Client 端為中心的網(wǎng)頁(yè)應(yīng)用程式開發(fā)途徑,在 AJAX 技術(shù)中程式開發(fā)者使用 Client 端 Script 進(jìn)行對(duì)伺服端應(yīng)用程式的呼叫,並且此種呼叫使用以 XML 為基礎(chǔ)的通訊協(xié)定,微軟代號(hào) "Atlas" 是一個(gè) AJAX 開發(fā)方法的應(yīng)用與擴(kuò)充 ASP.NET 套件,這個(gè)主題描述 AJAX 所要解決的網(wǎng)頁(yè)應(yīng)用程式開發(fā)的相關(guān)議題,解釋 AJAX 基本概念,和介紹 ASP.NET Atlas 為 AJAX 開發(fā)途徑所帶來的重大革命與增強(qiáng)。
AJAX 所針對(duì)的開發(fā)議題
使用者與開發(fā)者皆能體驗(yàn)到傳統(tǒng)網(wǎng)頁(yè)應(yīng)用程式 Request-Response 模式所造成的侷限性,因?yàn)榫W(wǎng)頁(yè)是無狀態(tài)的,故每當(dāng)網(wǎng)頁(yè)資料或使用者介面需要變更時(shí),必須將整個(gè)網(wǎng)頁(yè) post back 到伺服器更新,意即頁(yè)面必須進(jìn)行 Client 端與 Server 端之間的往返,尤其是當(dāng) Client 與 Server 之間若有極大量的資料過度頻繁的往返,將會(huì)造成者用者感受到非常漫長(zhǎng)的等待。
另一個(gè)議題是網(wǎng)頁(yè)瀏覽器之中的 HTML 控制項(xiàng)與桌面應(yīng)用程式的 Rich UI 相較之下顯得能力有限,很多瀏覽器都包含增強(qiáng)的 HTML 控制項(xiàng),但是這些增強(qiáng)的 HTML 控制項(xiàng)都是針對(duì)特定瀏覽器而實(shí)作,因此想要獲得這些增強(qiáng) HTML 控制項(xiàng)的 Rich UI,網(wǎng)頁(yè)應(yīng)用程式開發(fā)者必須針對(duì)特定瀏覽器建立應(yīng)用程式,這將會(huì)非常複雜,故很多開發(fā)人員避免在他們網(wǎng)頁(yè)之中建立以特定 Client 端特徵的功能,因此使用者發(fā)現(xiàn)網(wǎng)頁(yè)應(yīng)用程式的吸引力相較於其他類型的應(yīng)用程式要小得多。AJAX 開發(fā)方法是針對(duì)以上兩個(gè)開發(fā)議題提供解決方案。
二、AJAX 技術(shù)概念
AJAX 是建立在一個(gè)核心概念:使用非同步呼叫,並結(jié)合 XML 方式傳輸資料與大量使用 Client Script。
在 AJAX 技術(shù)中,程式開發(fā)人員能夠以 Client 端 Scripts 方式透過 XMLHTTP 來進(jìn)行非同步的 Web 服務(wù)呼叫,而 XMLHTTP 通訊協(xié)定常用於將資訊封裝成 XML 資料型式在網(wǎng)路間傳送,大多數(shù)的瀏覽都有實(shí)作 XMLHTTP 類別,而此類別用於建立一個(gè)進(jìn)行遠(yuǎn)端呼叫與資料收發(fā)的 proxy 物件,透過非同步方式進(jìn)行呼叫,網(wǎng)頁(yè)中的資料與使用者介面不需要進(jìn)行 Client 端與 Server 端之間的往返,結(jié)果是具有較少的資料傳送與較佳的應(yīng)用程式效能,非同步呼叫能夠使得網(wǎng)頁(yè)應(yīng)用程式能夠有更佳良好的反應(yīng)性,因?yàn)槭褂谜吣軌蛟诤艚泄ぷ魅栽?Server 端執(zhí)行的同時(shí),而在 Client 端瀏覽器繼續(xù)進(jìn)行工作。
另一方面 AJAX 大量使用 Client 端 Script,特別是 JavaScript,JavaScript 是用於進(jìn)行遠(yuǎn)端呼叫、執(zhí)行 Client 端應(yīng)用程式的處理與建立增強(qiáng)的使用者介面功能。
AJAX 的解決方案使用 JavaScript 並搭配其他數(shù)種 Client 端類型技術(shù),包括了:
- 瀏覽器的 Document Object Model(DOM):DOM 將這些元素呈現(xiàn)在 HTML 網(wǎng)頁(yè)中成為標(biāo)準(zhǔn)的物件組(如 document、windows 等等),並且能夠透過程式化方式來操作它們。
- 動(dòng)態(tài) HTML(DHTML):當(dāng)使用者在頁(yè)面中輸入時(shí),DHTML 透過 Client 端的 Script 方式延伸了 HTML 互動(dòng)的反應(yīng)能力,並且使其變得更容易,並且不需要往返的行為。
- 行為(Behaviors):這是一種程式化包裝在使用者介面中的動(dòng)作(如拖曳 drag and drop 行為),並且能夠與網(wǎng)頁(yè)元素產(chǎn)生連結(jié)。
- 元件(Component):是一種能夠提供擴(kuò)充 Client 端使用者介面功能特點(diǎn)的客製化 JavaScript 物件。
JavaScript 結(jié)合這些 Client 端技術(shù)後,使得程式開發(fā)人員足以建立能夠媲美桌上型應(yīng)用程式的使用者介面功能特點(diǎn),在這有兩個(gè)例子可提供給大家參考:
- 微軟 Virtual Earth 網(wǎng)站:一個(gè)提供電子地圖的網(wǎng)站。
- 微軟 Outlook Web Access:一種透過 WEB 瀏覽器收發(fā) e-mail 的 Client 端使介面。
兩者皆展示出以 AJAX 技術(shù)所建立豐富的使用者介面與高效能之應(yīng)用程式典範(fàn)。
然而使用這些技術(shù)來建構(gòu) AJAX 應(yīng)用程式是複雜的,直到現(xiàn)在程式開發(fā)人員仍必須手動(dòng)建立事件處理、訊息傳遞、和建立豐富性使用者介面所需要的細(xì)節(jié)。而且再者因?yàn)?JavaScript 不是物件導(dǎo)向語(yǔ)言(OOP),故它沒有強(qiáng)型別、命名空間、例外事件處理與其 OOP 之特點(diǎn),為這些功能特點(diǎn),程式開發(fā)人員還經(jīng)常必須以其他的語(yǔ)言來撰寫內(nèi)建於其中的專屬基礎(chǔ)架構(gòu)程式碼。
三、ASP.NET Atlas 提供一個(gè)新途徑
ASP.NET 如何能夠利用 AJAX 應(yīng)用程式的威力微軟的答案是:「Atlas」,ASP.NET Atlas 提供所有 AJAX 的能力,但是卻進(jìn)一步擴(kuò)充其概念,並且大幅降低 AJAX 應(yīng)用程式開發(fā)的複雜性,而 Atlas 同時(shí)提供了 Client 端與 Server 端兩方面的能力,說明如下:
(一)在 Client 端方面
Atlas 提供了一組豐富的 Script Libraries,提供了下列功能特點(diǎn):
- 物件導(dǎo)向開發(fā)
Client 端的 Libraries 函式庫(kù)在 JavaScript 中加入了物件導(dǎo)向特性,如型別系統(tǒng)、資料型別、命名空間、事件等等,這些特性給予程式開發(fā)人員一個(gè)熟悉的程式撰寫模式,使得您能夠開發(fā)出更高品質(zhì)、具有維護(hù)性與可重複使用性的程式碼。 - 瀏覽器相容性
Libraries 函式庫(kù)會(huì)自動(dòng)處理不同瀏覽器的相容性問題,免除了撰寫特定瀏覽器的 Scripts 的必要性。 - 行為與 Client 端元件
Libraries 函式庫(kù)包括了常用的行為,包括了「auto-completion、drag and drop、popup 與 mouse hovering」,同時(shí)它們也加入了能夠繫結(jié)資料的元件,如此簡(jiǎn)化了建立事件驅(qū)動(dòng)的商業(yè)應(yīng)用程式。 - 負(fù)責(zé)處理遠(yuǎn)端呼叫的程式碼
Libraries 函式庫(kù)負(fù)責(zé)管理透過 XMLHTTP 進(jìn)行非同步呼叫的複雜性,降低到只需要幾行 Script 程式碼便能進(jìn)行非同步呼叫。 - 宣告式程式撰寫模式
Libraries 函式庫(kù)允許您建立 Atlas 元件時(shí)使用宣告性語(yǔ)法,如同您建立 ASP.NET 伺服器控制項(xiàng)的方式一樣。
(二)在 Server 端方面
Atlas 在 Server 端方面亦包括了豐富的伺服元件功能特點(diǎn),以補(bǔ)充 Atlas 在 Client Script Libraries 函式庫(kù)之不足,包括了:
- Web 伺服器控制項(xiàng)
這些 ASP.NET Atlas 伺服器控制項(xiàng)能夠發(fā)出 Client 端的 Script 以便您使用 Atlas 功能特點(diǎn),如果您已經(jīng)非常熟悉伺服端程式開發(fā),這些伺服器控制項(xiàng)對(duì)您將會(huì)非常有用,或者您不必手動(dòng)建立 Atlas Client 端 Scripts。 - Web 服務(wù)
有一些 Web 服務(wù)能夠?yàn)?Atlas 應(yīng)用程式加入非常有用的伺服端功能特點(diǎn),如 ASP.NET 2.0 的 profiles。
ASP.NET Atlas Framework 概觀
一、介紹
代號(hào) Atlas 是一個(gè)新的 ASP.NET 網(wǎng)頁(yè)開發(fā)新技術(shù),在 ASP.NET 2.0 伺服器開發(fā)平臺(tái)下整合 Client 端的 Script Libraries,Atlas 對(duì)於網(wǎng)頁(yè)開發(fā)所建構(gòu)的 AJAX 策略是能夠讓你從 Client 端 Script 呼叫 Server 端的網(wǎng)頁(yè)應(yīng)用程式,Atlas 能夠處理在 Client 端應(yīng)用程式重要部分而不必往返 Server 端更新 Page 頁(yè)面。
這種發(fā)展策略能夠令你建立一種新型態(tài)的 Web 應(yīng)用程式,而且具有許多超越傳統(tǒng) Web 開發(fā)的一些利益優(yōu)點(diǎn),AJAX 類型應(yīng)用程式能夠提供較好的效能、跨瀏覽器運(yùn)作、且能讓你建立更為豐富的使用者介面特色。
ASP.NET 的 Atlas 套用了這種新策略在 Web 應(yīng)用程式建置上,同時(shí)加入了 Client 端及 Server 端的開發(fā)元件來大大增強(qiáng) Atlas 的 AJAX 開發(fā)能力。
二、Atlas 目標(biāo)
Atlas 主要目標(biāo)是在以下兩方面目的提供開發(fā)者廣泛的應(yīng)用程式建置區(qū)塊:
(一)第一個(gè)目標(biāo)
Atlas 第一個(gè)目標(biāo)是幫助你建立 AJAX 應(yīng)用程式,因?yàn)?AJAX 本身具的一定的複雜性,而 Atlas 則替您管理開發(fā) AJAX 應(yīng)用程式所會(huì)面臨的複雜性,提供的特色包括了:
(二)第二個(gè)目標(biāo)
Atlas 第二個(gè)目標(biāo)是整合 Client Scripting 在 ASP.NET 伺服端的程式開發(fā),有別於以往程式的開發(fā)不是只專注在 Client 端就是專注在 Server 端的情形,Atlas 同時(shí)提供了 Client 端與 Server 端的工具,無論什麼樣的情況下 Atlas 都可以協(xié)助您處理大多數(shù)的應(yīng)用程式開發(fā),ASP.NET 為 Atlas 應(yīng)用程式提供了下列伺服端的特點(diǎn):
三、Atlas 架構(gòu)
Web 應(yīng)用程式最小需求只要 Atlas Client Script Library 來呼叫 Web 伺服器上的服務(wù)或應(yīng)用程式即可,但做為一個(gè)最好的開發(fā)選項(xiàng)與工具而言,你可能會(huì)想要使用 Server 端的 Altas 元件,而 Atlas 架構(gòu)同時(shí)由 Client Script Library 與 Server 端的 Altas 元件所組成,以下為敘述:
(一)Atlas Client 端元件
下圖描繪出 Atlas client script library 架構(gòu)圖:
圖 3 Atlas Client 端組成元件架構(gòu)圖
Atlas Client Script Library 是由一些 JavaScript(.js) 檔案所組成,並且提供了物件導(dǎo)向特性以供程式開發(fā),這不是之前的Scripting開發(fā)環(huán)境而已,它提供了一個(gè)新的一致性與模組化層次,Atlas Client Script Library 包括了:
(二)Atlas 伺服端元件
Atlas 伺服端元件主要是由 ASP.NET Web Services 及 ASP.NET 伺服器控制項(xiàng)所組成,下面為 Atlas 伺服端元件架構(gòu)圖:
圖 4 Atlas 伺服端元件架構(gòu)圖
上圖意謂著所有 ASP.NET 的功能特點(diǎn)夠完全被 Atlas 應(yīng)用程式來取用。
Atlas 也包含 ASP.NET 伺服端的元件,包括 Web Services 及伺服器控制項(xiàng),這些元件能夠與 Client Script Libraries 結(jié)合在一起運(yùn)作,Atlas 能夠獲得來自 Web Services 的一些利益優(yōu)點(diǎn),包括了:
ASP.NET 亦包括了類似 ASP.NET 伺服器控制項(xiàng)的 Atlas 伺服器控制項(xiàng),但是 Atlas 伺服器控制項(xiàng)卻具有能夠發(fā)出 Client Script 的能力,Atlas 伺服器控制項(xiàng)簡(jiǎn)化了產(chǎn)生 Atlas Client Script 過程,適合想要專注在伺服端開發(fā)的程式開發(fā)者,Atlas 包含了完整伺服器控制項(xiàng)如 Button、Label、Option、TextBox、CheckBox、HyperLink、Validator 等等,與現(xiàn)有 ASP.NET 伺服器控制項(xiàng)非常接近;也有 Atlas 伺制項(xiàng)能夠發(fā)出 JavaScript 產(chǎn)生 Client 端行為,包括 HoverBehavior 控制項(xiàng)、ClickBehavior 控制項(xiàng)、Popup 控制項(xiàng)與 AutoCompleteBehavior 控制項(xiàng),所有控制項(xiàng)將會(huì)整合進(jìn) Visual Studio 之中,故你可以在設(shè)計(jì)模式中使用它們?nèi)缤阍谑褂靡话?ASP.NET 伺服器控制項(xiàng)一般。
而 Atlas Framework 安裝套件亦已經(jīng)提供測(cè)試版下載使用,其中提供了五個(gè) Hands-On-Lab,為了瞭解 Atlas Framework 本身的奧祕(mì),筆者本身也實(shí)際安裝測(cè)試使用,在做完前三個(gè) Lab 時(shí),仍不能明顯感受到它與手工或者其他的 AJAX Library 有什麼明顯區(qū)別,心中想難道是微軟誇大其詞?但在做完第四個(gè) Lab 之後,Atlas 的感覺就來了,可以明顯體驗(yàn)到 Atlas 優(yōu)越之處,果然有 Framework 層級(jí)的味道,而非僅僅是個(gè) Library 函式庫(kù)水準(zhǔn)而已,像在 Web 中的 TextBox 控制項(xiàng)裡要做到像電子字典般 Key 開頭幾個(gè)英文字,接著畫面就列示相關(guān)的英文字供選擇,或者是以前有個(gè)朋友曾問我,他想在 ASP.NET 1.0 的 TextBox 控制項(xiàng)中輸入幾個(gè)開頭的訂單號(hào)碼,然後畫面就...咚咚咚,從資料庫(kù)調(diào)相關(guān)的記錄列示在畫面上供業(yè)務(wù)人員選取,我很直接的告訴他 ~ 我不會(huì),二年後過去了,解答就在這 ~ Atlas Framework,簡(jiǎn)單到不可思議,最核心部分只要兩行程式碼...就足以打敗我以前修練一甲子還做不到的功力(呵~誇張一下,我還年輕離一甲子還很遠(yuǎn)呢!)。
在看完 Atlas Framework 功能及架構(gòu)之後您是不是躍躍欲試心動(dòng)不已呢!我瞭解現(xiàn)代人速成之心,沒空耐著性子慢慢修或研究 AJAX 理論一年半載後再來實(shí)作,故下期我將介紹 Atlas Framework 實(shí)際上手的 Labs,教您直接揮舞 Atlas 這把鋒利的寶劍,您就會(huì)領(lǐng)略什麼是 Atlas,有了 Sense 之後再來討論更深層的 AJAX 理論,您會(huì)比較有感覺,下期見。
圖5 Atlas伺服端的自動(dòng)完成
相關(guān)參考網(wǎng)址:
微軟 Atlas 入口網(wǎng)站
http://atlas.asp.net
ASP.NET 'Atlas' Preview Documentation
http://beta.asp.net/default.aspx?tabindex=7&tabid=47
Understanding AJAX Applications and ASP.NET "Atlas"
ASP.NET "Atlas" Overview
轉(zhuǎn)載于:https://www.cnblogs.com/snhome/archive/2007/09/03/880196.html
總結(jié)
以上是生活随笔為你收集整理的微軟 ASP.NET 2.0 的 AJAX 利劍 ~ Atlas Framework的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: WINDOWS SERVER 2003从
- 下一篇: IT容灾系统周期管理图