枫林在线论坛精华区>>技术交流
[382558] 主题: Atlas—微软的Ajax工具包
作者: little (渺小)
标题: Atlas—微软的Ajax工具包[转载]
来自: 192.168.*.*
发贴时间: 2005年12月17日 11:19:48
长度: 7220字
http://news.csdn.net/news/newstopic/28/28205.shtml 

Atlas—微软的Ajax工具包 

2005.10.28  来自:MSDN  Scott Guthrie 
 
 
微软现在已经进入了ASP.NET 2.0和Visual Web Developer 2005发布版最
后的RTM里程碑
时刻。为了达到ZBB(Zero Bug Bounce),微软已经锁定了这些产品的特
性,着重优化
最终的质量、性能和可靠性。

 

与此同时,微软开始了下一个发布版本的研发,其中一个重要的研究方向
就是通过Ajax
风格的编程在浏览器中实现日益流行的富客户端应用。

 

今后的IE中将拥有Ajax所需的所有东西——DHTML、JScript和XmlHttp。实
际上Outlook 
Web Access从1998年开始就已经提供了这种伟大的浏览体验了。在ASP.NE
T 2.0中,微软
使用异步回调及舒适的Ajax风格的应用程序的编写更加简单,并且,微软
为此提供了大
量的内建控件。

 

目前,几乎所有的浏览器都提供了Ajax所需的技术,使用这种模式的富客
户端应用程序
也不断出现。今天,世界上出现了不计其数的Ajax风格的站点,包括Goog
le的很多站点
、A9和Flickr。微软的很多站点也使用了这项技术,如Start.com和MSN V
irtual 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来编写W
eb应用程序,
而无须掌握这些技术的细节。

 

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 Callb
acks)的新特
性,使得构建从服务器上更新内容时不会引发页面中断的ASP.NET页面变得
很容易。异步
客户端回调包装了XMLHTTP,能够在很多浏览器上工作。ASP.NET本身就包
括了很多使用
回调的控件,包括具有客户端分页和排序功能的GridView和DetalsView控
件,以及TreeV
iew控件的虚拟列表支持。

 

Atlas客户端脚本框架将完全支持ASP.NET 2.0回调,但微软希望在今后进
一步增强浏览
器和服务器之间的集成性。例如,你可以将Atlas客户端控件的数据绑定并
指定为服务器
上的ASP.NET数据源控件,并且可以从客户端异步地控制Web页面的个性化
特征。

 

ASP.NET Web Services集成  

 

和任何客户端应用程序一样,一个Ajax风格的Web应用程序通常也需要访问
Web服务器的
一些功能。Atlas应用程序连接服务器的模型和其他平台类似,都是使用W
eb Services来
实现。

 

通过ASP.NET Web Services集成,Atlas应用程序将可以在任何支持XMLHT
TP的浏览器上
通过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项目,
你可以使用AS
P.NET的Profile服务来将他们存放在服务器上的用户自定义配置文件中。
这样,即使用
户从一台机器转移到另一台机器上,也同样可以访问这些项目。

 

微软将提供的服务包括(全部是基于ASP.NET 2.0的):

 

l          Profile:在服务器上存放每个用户特有的数据

l          UI个性化:在服务器上存放个性化的UI设置信息

l          验证:验证用户

l          角色:基于用户的角色验证用户任务和提供不同的UI

 

由于这些构建块是基于服务器的,开发者需要对他们应用和其他站点一样
的安全模型。
这些服务不需要客户端下载任何东西——只要在浏览器中引用脚本代理即
可。

 

所有的ASP.NET 2.0构建块服务都是可插拔的,这使用一种通用的提供者(
Provider)模
型可扩展模式在后台实现。微软提供的内建提供程序允许开发使用SQL Se
rver数据库或A
ctive Directory作为存储容器,开发者也可以很容易地插接自己的提供程
序。例如,你
可能希望使用集群而不是数据库服务器来存放用户的配置文件,这时,你
只需将你的提
供程序插接进来即可——这一切都由开发者来决定。

 

客户端构建块服务  

 

除了DHTML、JScript和XMLHTTP,微软还提供了一组附加的服务来加强客户
端的功能,并
提供增强的体验。

 

对于这样的服务,本地浏览器缓存就是一个很好的例子。当启用了本地浏
览器缓存时,W
eb站点就可以将内容存储到缓存中,并在需要的时候很快地取出。但浏览
器并未提供向
缓存中存放数据的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构建块服务和客户端构建块
服务。这种模
型可以使你平滑地过渡到下一代应用程序。

========== * * * * * ==========
返回