DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> AJAX入門 >> AJAX詳解 >> Atlas—微軟的Ajax工具包
Atlas—微軟的Ajax工具包
編輯:AJAX詳解     

微軟現在已經進入了ASP.Net 2.0和Visual Web Developer 2005發布版最後的RTM裡程碑時刻。為了達到ZBB(Zero Bug Bounce),微軟已經鎖定了這些產品的特性,著重優化最終的質量、性能和可靠性。

 

與此同時,微軟開始了下一個發布版本的研發,其中一個重要的研究方向就是通過AJax風格的編程在浏覽器中實現日益流行的富客戶端應用。

 

今後的IE中將擁有AJax所需的所有東西——DHtml、JScript和XMLHttp。實際上Outlook Web Access從1998年開始就已經提供了這種偉大的浏覽體驗了。在ASP.Net 2.0中,微軟使用異步回調及舒適的AJax風格的應用程序的編寫更加簡單,並且,微軟為此提供了大量的內建控件。

 

目前,幾乎所有的浏覽器都提供了Ajax所需的技術,使用這種模式的富客戶端應用程序也不斷出現。今天,世界上出現了不計其數的AJax風格的站點,包括Google的很多站點、A9和Flickr。微軟的很多站點也使用了這項技術,如Start.com和MSN Virtual Earth項目。

 

Ajax的風行說明用戶對於豐富的Web體驗的需求日益增長。然而,開發和調試AJax風格的Web應用程序是一項非常艱難的工作。要編寫一個豐富的Web UI,開發者需要詳細地掌握DHtml和JavaScript,並且還要掌握各種浏覽器之間在設計細節上的不同。然而沒有哪些工具能夠簡化這些應用程序的設計和開發。最後,調試和測試這些應用程序會變得異常困難。

 

微軟致力於簡化AJax風格Web應用的開發,並提供豐富的、可交互的和個性化的用戶體驗。開發者可以對客戶端腳本不甚了解;但他們可以無縫地將浏覽器UI與他們編寫的其他應用無縫地集成在一起,並且他們可以很容易地開發和調試這些應用程序。

 

出於這一目的,微軟啟動了一個新的項目,研發代號為“Atlas”。同時,微軟還啟動了一個站點來持續更新其核心進展和示例,並圍繞它建立一個活躍的社區。在9月份的PDC大會上,開發者可以看到Atlas的技術預覽版。

 

以下是Atlas所擁有的特性。

 

Atlas客戶端腳本框架

 

Atlas客戶端腳本框架是可擴展的、100%面向對象的Javascript客戶端腳本框架,允許開發者很容易地構建擁有豐富的UI功能並且可以連接Web Services的AJax風格浏覽器應用程序。使用Atlas,開發者可以使用DHtml、JavaScript和XMLHTTP來編寫Web應用程序,而無須掌握這些技術的細節。

 

Atlas客戶端腳本框架可以在所有的現代浏覽器上運行,不論使用的是什麼Web服務器。它還完全不需要安裝,只要在頁面中引用正確的腳本文件即可。

 

Atlas客戶端腳本框架包含下列組件:

 

l          一個可擴展的核心框架,其中為JavaScript添加了很多新特性,如生存期管理、繼承、多播事件處理器和接口

l          一個基礎類庫,提供了通用特性,如豐富的字符串操作功能、計時器和運行任務等

l          一個UI框架,可以跨浏覽器實現Html的動態行為

l          一個網絡棧,用於簡化對服務器的連接和對Web Services的訪問

l          一組具有豐富UI功能的控件,如自動完成文本框、彈出面板、動畫控件和拖放

l          一個浏覽器兼容的層(Layer),用於在不同浏覽器中定位不同的腳本行為

 

Atlas的ASP.Net服務器控件

 

對於ASP.NET應用程序,微軟專門設計了一組AJax風格的服務器控件,並且加強了現有的ASP.Net頁面框架和控件,以便支持Atlas客戶端腳本框架。

 

ASP.NET 2.0中有一項稱作異步客戶端回調(Asynchronous ClIEnt Callbacks)的新特性,使得構建從服務器上更新內容時不會引發頁面中斷的ASP.NET頁面變得很容易。異步客戶端回調包裝了XMLHTTP,能夠在很多浏覽器上工作。ASP.Net本身就包括了很多使用回調的控件,包括具有客戶端分頁和排序功能的GridView和DetalsView控件,以及TreeVIEw控件的虛擬列表支持。

 

Atlas客戶端腳本框架將完全支持ASP.NET 2.0回調,但微軟希望在今後進一步增強浏覽器和服務器之間的集成性。例如,你可以將Atlas客戶端控件的數據綁定並指定為服務器上的ASP.Net數據源控件,並且可以從客戶端異步地控制Web頁面的個性化特征。

 

ASP.Net Web Services集成 

 

和任何客戶端應用程序一樣,一個AJax風格的Web應用程序通常也需要訪問Web服務器的一些功能。Atlas應用程序連接服務器的模型和其他平台類似,都是使用Web Services來實現。

 

通過ASP.NET Web Services集成,Atlas應用程序將可以在任何支持XMLHTTP的浏覽器上通過Atlas客戶端用本框架來直接訪問任何宿主了ASP.Net的asmx或Indigo服務。該框架將會自動處理、代理和腳本到對象、對象到腳本的序列化問題。通過使用Web Services集成,開發者可以使用單一的編程模型來編寫Web Services,並且在任何應用程序中使用它們,不論是基於浏覽器的站點上還是智能客戶端應用程序中。

 

Atlas的ASP.Net構建塊

 

在ASP.Net 2.0中,微軟構建了一組豐富的構建塊服務(Building Block Services),這使得構建強大、個性化的Web應用程序變得不可思議的簡單。這些構建塊極大地降低了在開發通用的Web應用程序過程中需要編寫的代碼數量,比如管理用戶、通過角色驗證用戶和存儲用戶的個性化設置信息等。

 

使用Atlas,我們可以在任何浏覽器上的任何客戶端應用程序中向訪問Web Services那樣訪問這些功能。例如,如果你正在開發一個站點來顯示用戶的TO-DO項目,你可以使用ASP.Net的Profile服務來將他們存放在服務器上的用戶自定義配置文件中。這樣,即使用戶從一台機器轉移到另一台機器上,也同樣可以訪問這些項目。

 

微軟將提供的服務包括(全部是基於ASP.Net 2.0的):

 

l          Profile:在服務器上存放每個用戶特有的數據

l          UI個性化:在服務器上存放個性化的UI設置信息

l          驗證:驗證用戶

l          角色:基於用戶的角色驗證用戶任務和提供不同的UI

 

由於這些構建塊是基於服務器的,開發者需要對他們應用和其他站點一樣的安全模型。這些服務不需要客戶端下載任何東西——只要在浏覽器中引用腳本代理即可。

 

所有的ASP.Net 2.0構建塊服務都是可插拔的,這使用一種通用的提供者(Provider)模型可擴展模式在後台實現。微軟提供的內建提供程序允許開發使用SQL Server數據庫或Active Directory作為存儲容器,開發者也可以很容易地插接自己的提供程序。例如,你可能希望使用集群而不是數據庫服務器來存放用戶的配置文件,這時,你只需將你的提供程序插接進來即可——這一切都由開發者來決定。

 

客戶端構建塊服務 

 

除了DHtml、JScript和XMLHTTP,微軟還提供了一組附加的服務來加強客戶端的功能,並提供增強的體驗。

 

對於這樣的服務,本地浏覽器緩存就是一個很好的例子。當啟用了本地浏覽器緩存時,Web站點就可以將內容存儲到緩存中,並在需要的時候很快地取出。但浏覽器並未提供向緩存中存放數據的API,而且象Google Map或OWA這樣的應用程序不得不通過很多工作產生一個唯一的URL,才能使浏覽器緩存它。在Atlas中,微軟提供了可編程的本地存儲/緩存,因此應用程序可以很方便、有效並且安全地在本地緩存數據。

 

同其它應用程序的集成是檢驗Web體驗是否豐富的另一個新的標准。例如,當一個用戶浏覽一個拍賣網站並對一件商品出價時,他可能想隨時知道這個拍賣什麼時候結束,但他如何才能將這個事件添加到個人的日歷程序中?Atlas帶來了一系列客戶端構建塊服務,當用戶選擇“添加到日歷”時,浏覽器將調用接駁點來獲取日歷數據,並將其傳遞到本地的日歷程序中。此時頁面上無須下載或運行任何特殊的代碼或執行任何初始化動作,因此,這比ActiveX要安全得多。

 

下一步 

 

隨著我們的技術進展,還會發生很多事情。我們現在已經開始研發、開發和調試工具的下一個版本了,因此,我們將很快為這些類型的豐富Web應用程序提供更加偉大的開發體驗。

 

您可能會問的一個問題是:Atlas如何在Avalon和智能客戶端上使用?

 

我們可以看到,Atlas是編寫豐富的、可交互的和個性化的Web浏覽器應用程序的最好方式,而Avalon是微軟的下一代表現層模型,可以在Windows平台上提供最豐富的用戶體驗。Avalon將使用最新的媒體集成功能和硬件加速設備,提供卓越的視覺體驗。Avalon將帶來超越浏覽器的體驗。

 

當然,當你構建Avalon應用程序的時候,你依然可以重用ASP.NET和Atlas中的編程模型。例如,Avalon客戶端上依然可以使用ASP.Net構建塊服務和客戶端構建塊服務。這種模型可以使你平滑地過渡到下一代應用程序。

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved