论文部分内容阅读
摘 要:Web应用程序受到更多开发者和用户的青睐,它们颠覆了传统的网页概念,用户甚至不敢相信基于浏览器的程序竟能实现如此强大的功能。目前Ajax已经成为了Web应用的主流开发技术,大量的业界巨头已经采纳并且在大力推动这个技术的发展。Ajax的典型应用除了Google Maps、微软的Windows Live外,还包含Yahoo的Flickr、新浪的blog等。
关 键 词:Ajax、JavaScript、ASP.NET
中图分类号:TP311.10
一、前言
今天的因特网已经经历了翻天覆地的重大改变,最早它只有基于文本的简单浏览器,如今已成为商务和信息的中心,成为大量应用的首选平台。同时以Blog、TAG、SNS、RSS和wiki等应用为核心的Ajax等新理论和技术实现也成为了互联网新一代模式。值得一提的是Google建立的Ajax应用,包括Google Maps、Gmail、Google Suggest等,其中被公认为最优秀的Ajax应用是Google Maps。由于完全基于Ajax技术来构造界面,使其提供了远超其竞争对手的地图服务的交互体验,获得了广大用户的青睐。
二、什么是Ajax
Ajax全称为Asynchronous JavaScript and XML(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。它并不是一门新的语言或技术,而是几项技术按一定的方式组合在一起并在共同协作中发挥各自的作用,使浏览器可以为用户提供更为自然的浏览体验。它包括:利用XHTML和CSS实现标准化的呈现;借助DOM实现动态显示和交互;使用XML和XSLT进行数据的交换与处理;采用XMLHttpRequest进行异步数据读取;通过JavaScript绑定和处理所有数据。
Ajax的应用必须使用支持以上技术的Web浏览器作为运行平台。此外,随着浏览器的发展,更多的技术还会被添加进Ajax的技术体系之中。
三、与传统的Web应用比较
在Ajax之前,Web站点强制用户进入提交/等待/重新显示范例,用户的动作总是与服务器的“思考时间”同步。Ajax提供与服务器异步通信的能力,从而使用户从请求/响应的循环中解脱出来。借助于Ajax,可以在用户单击按钮时,使用JavaScript和DHTML立即更新UI,并向服务器发出异步请求,以执行更新或查询数据库。当请求返回时,就可以使用JavaScript和CSS来相应地更新UI,而不是刷新整个页面。最重要的是,用户甚至不知道浏览器正在与服务器通信:Web站点看起来是即时响应的。
因此,Ajax应用与传统的Web应用的区别主要在3个方面:不刷新整个页面,在页面内与服务器通信;使用异步方式与服务器通信,不需要打断用户的操作,具有更加迅速的响应能力;应用仅由少量页面组成,大部分交互在页面内完成,不需要切换整个页面。
由此可见,Ajax使得Web应用更加动态,带来了更高的智能,并且提供了表现能力丰富的组件,符合真正的Web标准的开发方式。
四、Ajax开发
Ajax的核心是JavaScript对象XMLHttpRequest。该对象首次在IE5中引入,它支持异步请求,可以利用JavaScript向服务器提出请求并处理响应而不阻塞用户。在创建站点时,在客户端执行屏幕更新为用户提供了很大的灵活性。然而,开发和调试Ajax风格的Web应用程序是一项非常艰难的工作。微软致力于简化Ajax风格Web应用的开发,并提供丰富的、可交互的和个性化的用户体验。出于这一目的,微软发布了Atlas。它为开发者带来了如下特性:Atlas客户端脚本框架、Atlas的ASP.NET服务器控件、ASP.NET Web Services集成、Atlas的ASP.NET构建块和客户端构建块服务。
1、客户端脚本框架
Atlas客户端脚本框架可以在所有的现代浏览器上运行,完全不需要安装,只要在页面中引用正确的脚本文件即可。它包含下列组件:
① 一个可扩展的核心框架,其中为JavaScript添加了很多新特性,如生存期管理、集成、多播事件处理和接口。
② 一个基础类库,提供了通用特性,如丰富的字符串操作功能、计时器和运行任务等。
③ 一个UI框架,可以跨浏览器实现动态行为。
④ 一个网络栈,用于简化对服务器的连接和对Web Services的访问。
2、ASP.NET服务器控件
微软为ASP.NET应用程序专门设计了一组Ajax风格的服务器控件称作异步客户端回调,并加强了其页面框架和控件,以便支持Ajax客户端脚本框架。微软希望进一步增强浏览器和服务器之间的集成性,如可将Atlas客户端控件的数据绑定指定为服务器上的ASP.NET数据源控件,并且可以从客户端异步地控制Web页面的个性化特征。
3、ASP.NET Web Services集成
通过ASP.NET Web Services集成,Atlas应用程序将可以在任何支持XMLHTTP的浏览器上通过Atlas客户端将本框架来直接访问任何宿主于ASP.NET的asmx或Indigo服务。该框架将会自动处理代理和脚本到对象、对象到脚本的序列化问题。通过使用Web Services集成,开发者可以使用单一的编程模型来编写Web Services,并且在任何应用程序中使用它们,不论是基于浏览器的站点上还是智能客户端应用程序中。
4、ASP.NET构建块服务
在ASP.NET2.0中,微软构建了一组丰富的可插拔的构建块服务,这使得构建强大、个性化的Web应用程序变得简单。这些构建块极大的降低了在开发通用的Web应用程序过程中需要编写的代码数量,比如管理用户、通过角色验证用户和存储用户的个性化设置信息等。由于这些构建块是服务器端的,开发者需要对他们应用和其他站点一样的安全模型。这些服务不需要客户端下载任何东西,只要在浏览器中引用脚本代理即可。
5、客户端构建块服务
对于这样的服务,本地浏览器缓存就是一个很好的例子。当启用了本地浏览器缓存时,Web站点就可以将内容存储到缓存中,并在需要的时候很快地取出。但浏览器并未提供向缓存中存放数据的API,而且像Google Map这样的应用程序不得不通过很多工作产生一个唯一的URL才能使瀏览器缓存它。在Atlas中,微软提供了可编程的本地存储/缓存,因此应用程序可以很方便、有效并且安全地在本地缓存数据。
参考文献:
[1] 吴伟敏,网站设计与Web应用开发技术,清华大学出版社,2009
[2] (美)阿斯利森 舒塔,Ajax基础教程,人民邮电出版社,2006
关 键 词:Ajax、JavaScript、ASP.NET
中图分类号:TP311.10
一、前言
今天的因特网已经经历了翻天覆地的重大改变,最早它只有基于文本的简单浏览器,如今已成为商务和信息的中心,成为大量应用的首选平台。同时以Blog、TAG、SNS、RSS和wiki等应用为核心的Ajax等新理论和技术实现也成为了互联网新一代模式。值得一提的是Google建立的Ajax应用,包括Google Maps、Gmail、Google Suggest等,其中被公认为最优秀的Ajax应用是Google Maps。由于完全基于Ajax技术来构造界面,使其提供了远超其竞争对手的地图服务的交互体验,获得了广大用户的青睐。
二、什么是Ajax
Ajax全称为Asynchronous JavaScript and XML(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。它并不是一门新的语言或技术,而是几项技术按一定的方式组合在一起并在共同协作中发挥各自的作用,使浏览器可以为用户提供更为自然的浏览体验。它包括:利用XHTML和CSS实现标准化的呈现;借助DOM实现动态显示和交互;使用XML和XSLT进行数据的交换与处理;采用XMLHttpRequest进行异步数据读取;通过JavaScript绑定和处理所有数据。
Ajax的应用必须使用支持以上技术的Web浏览器作为运行平台。此外,随着浏览器的发展,更多的技术还会被添加进Ajax的技术体系之中。
三、与传统的Web应用比较
在Ajax之前,Web站点强制用户进入提交/等待/重新显示范例,用户的动作总是与服务器的“思考时间”同步。Ajax提供与服务器异步通信的能力,从而使用户从请求/响应的循环中解脱出来。借助于Ajax,可以在用户单击按钮时,使用JavaScript和DHTML立即更新UI,并向服务器发出异步请求,以执行更新或查询数据库。当请求返回时,就可以使用JavaScript和CSS来相应地更新UI,而不是刷新整个页面。最重要的是,用户甚至不知道浏览器正在与服务器通信:Web站点看起来是即时响应的。
因此,Ajax应用与传统的Web应用的区别主要在3个方面:不刷新整个页面,在页面内与服务器通信;使用异步方式与服务器通信,不需要打断用户的操作,具有更加迅速的响应能力;应用仅由少量页面组成,大部分交互在页面内完成,不需要切换整个页面。
由此可见,Ajax使得Web应用更加动态,带来了更高的智能,并且提供了表现能力丰富的组件,符合真正的Web标准的开发方式。
四、Ajax开发
Ajax的核心是JavaScript对象XMLHttpRequest。该对象首次在IE5中引入,它支持异步请求,可以利用JavaScript向服务器提出请求并处理响应而不阻塞用户。在创建站点时,在客户端执行屏幕更新为用户提供了很大的灵活性。然而,开发和调试Ajax风格的Web应用程序是一项非常艰难的工作。微软致力于简化Ajax风格Web应用的开发,并提供丰富的、可交互的和个性化的用户体验。出于这一目的,微软发布了Atlas。它为开发者带来了如下特性:Atlas客户端脚本框架、Atlas的ASP.NET服务器控件、ASP.NET Web Services集成、Atlas的ASP.NET构建块和客户端构建块服务。
1、客户端脚本框架
Atlas客户端脚本框架可以在所有的现代浏览器上运行,完全不需要安装,只要在页面中引用正确的脚本文件即可。它包含下列组件:
① 一个可扩展的核心框架,其中为JavaScript添加了很多新特性,如生存期管理、集成、多播事件处理和接口。
② 一个基础类库,提供了通用特性,如丰富的字符串操作功能、计时器和运行任务等。
③ 一个UI框架,可以跨浏览器实现动态行为。
④ 一个网络栈,用于简化对服务器的连接和对Web Services的访问。
2、ASP.NET服务器控件
微软为ASP.NET应用程序专门设计了一组Ajax风格的服务器控件称作异步客户端回调,并加强了其页面框架和控件,以便支持Ajax客户端脚本框架。微软希望进一步增强浏览器和服务器之间的集成性,如可将Atlas客户端控件的数据绑定指定为服务器上的ASP.NET数据源控件,并且可以从客户端异步地控制Web页面的个性化特征。
3、ASP.NET Web Services集成
通过ASP.NET Web Services集成,Atlas应用程序将可以在任何支持XMLHTTP的浏览器上通过Atlas客户端将本框架来直接访问任何宿主于ASP.NET的asmx或Indigo服务。该框架将会自动处理代理和脚本到对象、对象到脚本的序列化问题。通过使用Web Services集成,开发者可以使用单一的编程模型来编写Web Services,并且在任何应用程序中使用它们,不论是基于浏览器的站点上还是智能客户端应用程序中。
4、ASP.NET构建块服务
在ASP.NET2.0中,微软构建了一组丰富的可插拔的构建块服务,这使得构建强大、个性化的Web应用程序变得简单。这些构建块极大的降低了在开发通用的Web应用程序过程中需要编写的代码数量,比如管理用户、通过角色验证用户和存储用户的个性化设置信息等。由于这些构建块是服务器端的,开发者需要对他们应用和其他站点一样的安全模型。这些服务不需要客户端下载任何东西,只要在浏览器中引用脚本代理即可。
5、客户端构建块服务
对于这样的服务,本地浏览器缓存就是一个很好的例子。当启用了本地浏览器缓存时,Web站点就可以将内容存储到缓存中,并在需要的时候很快地取出。但浏览器并未提供向缓存中存放数据的API,而且像Google Map这样的应用程序不得不通过很多工作产生一个唯一的URL才能使瀏览器缓存它。在Atlas中,微软提供了可编程的本地存储/缓存,因此应用程序可以很方便、有效并且安全地在本地缓存数据。
参考文献:
[1] 吴伟敏,网站设计与Web应用开发技术,清华大学出版社,2009
[2] (美)阿斯利森 舒塔,Ajax基础教程,人民邮电出版社,2006