CA88新登入 2

CA88新登入AJAX技术汇总

与传统的web应用比较
传统的web应用允许用户填写表单(form),当提交表单时就向web服务器发送一个请求。服务器接收并处理传来的表单,然后返回一个新的网页。这个做法浪费了许多带宽,因为在前后两个页面中的大部分HTML代码往往是相同的。由于每次应用的交互都需要向服务器发送请求,应用的响应时间就依赖于服务器的响应时间。这导致了用户界面的响应比本地应用慢得多。

(

基于web标准(standards-based presentation)XHTML+CSS的表示;
使用 DOM(Document Object Model)进行动态显示及交互;
使用 XML 和 XSLT 进行数据交换及相关操作;
使用 XMLHttpRequest 进行异步数据查询、检索;
使用 JavaScript 将所有的东西绑定在一起。
类似于DHTML或LAMP,AJAX不是指一种单一的技术,而是有机地利用了一系列相关的技术。事实上,一些基于AJAX的“派生/合成”式(derivative/composite)的技术正在出现,如“AFLAX”。

Atlas客户端脚本框架包含下列组件:

AJAX
AJAX全称为“Asynchronous JavaScript and
XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。它有机地包含了以下几种技术:

验证:验证用户

微软的Ajax
  微软目前目前对于通过Ajax风格的编程在浏览器中实现日益流行的富客户端应用比较感兴趣。今后的IE中将拥有Ajax的所有东西——DHTML、JScript和XmlHttp。实际上Outlook
Web Acces从1998年开始就已经提供了这种伟大的浏览体验了。在ASP.NET
2.0中,微软使用异步回调及舒适的Ajax风格的应用程序的编写更加简单,并且,微软为此提供了内建的控件。
  最近,几乎所有的浏览器都提供了Ajax所需的技术,使用这种模式的富客户端应用程序也不断出现。今天,世界上出现了不计其数的Ajax风格的站点,包括Google的很多站点、A9和Flickr。微软的很多站点也使用了这项技术,如Start.com和MSN虚拟地球。
  Ajax的风行说明用户对于丰富的Web体验的需求日益增长。然而,开发和调试Ajax风格的Web应用程序是一项非常艰难的工作。要编写一个丰富的Web
UI,开发者需要详细地掌握DHTML和JavaScript,并且还要掌握各种浏览器之间在设计细节上的不同。然而没有那些工具能够简化这些应用程序的设计和开发。最后,调试和测试这些应用程序会变得异常困难。
  微软致力于简化Ajax风格Web应用的开发,并提供丰富的、可交互的和个性化的用户体验。开发者可以对客户端脚本不甚了解;但他们可以很容易地开发和调试这种应用程序。
  出于这一目的,微软启动了一个新的项目,研发代号“Atlas”。Atlas为开发这带来了如下特性:
  ·Atlas客户端脚本框架
  ·Atlas的ASP.NET服务器控件
  ·ASP.NET Web Services集成
  ·Atlas的ASP.NET构建块
  ·客户端构建块服务
  你可能会问的一个问题是,Atlas如何在Avalon和智能客户端上使用?
  我们可以看到,Atlas是编写丰富的、可交互的和个性化的Web浏览器应用程序的最好方式。而Avalon是微软的下一代表现层模型,可以在Windows平台上提供最丰富的用户体验。Avalon将使用最新的媒体集成功能和硬件加速设备,提供卓越的视觉体验。Avalon将带来超越浏览器的体验。
  当然,当你构建Avalon应用程序的时候,你依然可以重用ASP.NET和Atlas中的编程模型。例如,Avalon客户端上依然可以使用ASP.NET构建块服务和客户端构建块服务。这种模型可以使你平滑地过渡到下一代应用程序上。
  微软提供了一个工具包,用来完成Ajax的功能,称作Atlas。从微软的Scott
Guthrie的blog上看来,这个东西应该是

微软现在已经进入了ASP.NET 2.0和Visual Web Developer
2005发布版最后的RTM里程碑时刻。为了达到ZBB(Zero Bug
Bounce),微软已经锁定了这些产品的特性,着重优化最终的质量、性能和可靠性。与此同时,微软开始了下一个发布版本的研发,其中一个重要的研究方向就是通过Ajax风格的编程在浏览器中实现日益流行的富客户端应用。

Ajax(Asynchronous JavaScript + XML)的定义

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

与此不同,AJAX应用可以仅向服务器发送并取回必需的数据,它使用SOAP或其它一些基于XML的web
service接口,并在客户端采用JavaScript处理来自服务器的响应。因为在服务器和浏览器之间交换的数据大量减少,结果我们就能看到响应更快的应用。同时很多的处理工作可以在发出请求的客户端机器上完成,所以Web服务器的处理时间也减少了。
CA88新登入 1
传统web应用与AJAX应用的比较:处理用户交互

在ASP.NET 2.0中,微软构建了一组丰富的构建块服务(Building Block
Services),这使得构建强大、个性化的Web应用程序变得不可思议的简单。这些构建块极大地降低了在开发通用的Web应用程序过程中需要编写的代码数量,比如管理用户、通过角色验证用户和存储用户的个性化设置信息等。

CA88新登入 2
传统web应用与AJAX应用的比较:交互模式

对于ASP.NET应用程序,微软专门设计了一组Ajax风格的服务器控件,并且加强了现有的ASP.NET页面框架和控件,以便支持Atlas客户端脚本框架。

AJAX的应用使用支持以上技术的web浏览器作为运行平台。这些浏览器目前包括:Mozilla、Firefox、Internet
Explorer、Opera、Konqueror及Safari。但是Opera不支持XSL格式对象,也不支持XSLT。[1]

一个基础类库,提供了通用特性,如丰富的字符串操作功能、计时器和运行任务等

ASP.NET 2.0中有一项称作异步客户端回调(Asynchronous Client
Callbacks)的新特性,使得构建从服务器上更新内容时不会引发页面中断的ASP.NET页面变得很容易。异步客户端回调包装了XMLHTTP,能够在很多浏览器上工作。ASP.NET本身就包括了很多使用回调的控件,包括具有客户端分页和排序功能的GridView和DetalsView控件,以及TreeView控件的虚拟列表支持。

您可能会问的一个问题是:Atlas如何在Avalon和智能客户端上使用?

Atlas客户端脚本框架是可扩展的、100%面向对象的JavaScript客户端脚本框架,允许开发者很容易地构建拥有丰富的UI功能并且可以连接Web
Services的Ajax风格浏览器应用程序。使用Atlas,开发者可以使用DHTML、JavaScript和XMLHTTP来编写Web应用程序,而无须掌握这些技术的细节。

下一步

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

随着我们的技术进展,还会发生很多事情。我们现在已经开始研发、开发和调试工具的下一个版本了,因此,我们将很快为这些类型的丰富Web应用程序提供更加伟大的开发体验。

客户端构建块服务

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

当然,当你构建Avalon应用程序的时候,你依然可以重用ASP.NET和Atlas中的编程模型。例如,Avalon客户端上依然可以使用ASP.NET构建块服务和客户端构建块服务。这种模型可以使你平滑地过渡到下一代应用程序。

Atlas的ASP.NET服务器控件

出于这一目的,微软启动了一个新的项目,研发代号为“Atlas”。同时,微软还启动了一个站点来持续更新其核心进展和示例,并围绕它建立一个活跃的社区。在9月份的PDC大会上,开发者可以看到Atlas的技术预览版。以下是Atlas所拥有的特性。

一个UI框架,可以跨浏览器实现HTML的动态行为

同其它应用程序的集成是检验Web体验是否丰富的另一个新的标准。例如,当一个用户浏览一个拍卖网站并对一件商品出价时,他可能想随时知道这个拍卖什么时候结束,但他如何才能将这个事件添加到个人的日历程序中?Atlas带来了一系列客户端构建块服务,当用户选择“添加到日历”时,浏览器将调用接驳点来获取日历数据,并将其传递到本地的日历程序中。此时页面上无须下载或运行任何特殊的代码或执行任何初始化动作,因此,这比ActiveX要安全得多。

使用Atlas,我们可以在任何浏览器上的任何客户端应用程序中向访问Web
Services那样访问这些功能。例如,如果你正在开发一个站点来显示用户的TO-DO项目,你可以使用ASP.NET的Profile服务来将他们存放在服务器上的用户自定义配置文件中。这样,即使用户从一台机器转移到另一台机器上,也同样可以访问这些项目。