提要 本文介紹了Atlas框架,並探討它的客戶端和服務器端類庫及其編程模型。另外,本文還詳細剖析了一個支持Atlas功能的示例Web應用程序。
一、開發環境說明
本文中所提供的信息適用於下列技術:Asp.net 2.0,Asp.net Atlas CTP,Visual Studio Professional 2005和Visual Web Developer 2005。
二、簡介
Atlas是一個框架的代號,該框架對於客戶端Web應用程序的開發方面擴展了asp.net。該框架在提供一組客戶端和服務器端類來創建跨浏覽器兼容的AJAX風格的應用程序的同時,還引入了其它特征,例如橋接技術,gadget,一個JavaScript的聲明性腳本模型和擴展。
本文將介紹Atlas框架並探討它的客戶端和服務器端類庫及其編程模型。另外,本文還詳細剖析了一個支持Atlas功能的示例Web應用程序。
三、基於客戶端和服務器端的Web應用程序
現在,Web應用程序開發主要針對於http客戶端(浏覽器)和服務器開發。Asp.net Web應用程序是基於服務器的(在該主機上運行),因此,對於由在客戶端上的一個服務器控件激發的每一個事件都要求一個完整的回寄。這樣的情形可以用圖1所示來描述。
圖1.一個針對asp.net Web應用程序的http回饋
只在服務器端運行Web應用程序,而幾乎不需要(或很少需要)客戶端處理,並且不會造成性能下降。不過,其缺點也很容易在一個asp.net Web應用程序發現:一個閃爍的、暫停的、不具有響應性的和相對可憐的UI;或者是,由於數據回寄和服務器過載而導致一個繁忙的線路。
要在asp.net應用程序解決這些性能障礙意味著,必須把一些加載處理移到客戶端並且利用客戶端平台所提供的技術。客戶端平台是可以通過腳本進行編程的,而JavaScript就是適合於這種任務的一種標准的面向對象的編程語言。
那麼,上面這些客戶端平台技術指的是什麼呢?這些客戶端平台(浏覽器)提供了下列技術:
· 文檔對象模型:一種標准化的語言獨立的一組對象集合,允許開發者動態地控制HTML文檔的結構、內容和風格。
· 動態的超文本標記語言對象模型:一個浏覽器供應商特定的特征集合,可以用作DOM的一個擴展。數據綁定、UI效果(例如過濾器和過渡)、HTML元素行為和事件都是在這個對象模型內部所提供的一些特征。
· XmlHttpRequest對象:它允許通過Http檢索和提交XML數據而不要求一種整個Web文檔的完整的回饋或重新生成。
· 一個JavaScript解釋器:包含在所有的Web浏覽器中,由它處理用JavaScript書寫的命令。JScript是微軟版本的JavaScript,它最初由Netscape所創建。兩種版本都遵循ECMAScript標准—供應商中立的,跨平台的,通用目的的腳本語言。
這些技術合在一起被稱為AJAX,代表的意思是異步JavaScript+XML;而Atlas正是一種利用這些技術的創建Web應用程序的框架。下面的圖2展示了一個支持Atlas技術的asp.net Web應用程序。
圖2.Http請求和響應一個支持Atlas技術的,基於客戶端的asp.net Web應用程序