本文适合于对Atlas感兴趣的初学者!
ASP.NET 'Atlas' 概述
介绍
'Atlas',新出现的Web开发技术,把客户端脚本库与ASP.NET2.0集成为基于服务器的开发平台。对于创建Web应用程序,'Atlas'建立于AJAX策略之上,这使得你能够从客户端向基于Web的程序应用程序发起调用,'Atlas'也能让你在客户端执行一个应用程序非常重要的部分,而不需要向服务器进行往复传输来更新页面。
这种开发策略能让你建立一种新类型的Web应用程序,相比传统的Web应用程序它有大量的优点。AJAX类型的应用程序提供了更好的性能,跨浏览器工作,还有能让你有更多UI特性的用户接口。要得到更多消息,请查看Understanding AJAX Applications and ASP.NET "Atlas".
ASP.NET'Atlas'为开发Web应用程序应用了这种策略,而且通过添加客户端和服务器端组件极大地强化了它。该主题描述'Atlas'特性的目标,还有解释一个'Atlas'应用程序的框架,包括'Atlas'客户端脚本库和'Atlas'服务器组件。
'Atlas' 的目标
'Atlas'的主要目的就是给你能达到如下目标在应用程序的广泛的范围内建立程序块:
· 帮助你建立'Atlas'应用程序。
· 把'Atlas'客户端脚本特性与ASP.NET在服务器端的特性集成在一起,提供一个全面的开发平台。
第一个'Atlas'目标就是帮助你建立一个AJAX应用程序。AJAX开发也许是复杂的。'Atlas'通过提供如下特性来帮你管理这种复杂性:
· 一组为JavaScript开发的一致的面向对象的APIs。
· 自动浏览器兼容,因此你不需要为你应用程序在多种浏览器中运行而写代码或者部署组件。
· 客户端脚本APIs和组件提供丰富的UI特性,这就节省了你通常在AJAX型应用程序书写大量代码的时间。例如,'Atlas'提供了常用的各种动作行为,包括拖和拉,你用极少代码就能把这些特性绑定至HTML控件。
· 为客户端开发而公布的脚本模型类似于ASP.NET服务器控件的语法,这能减少或消除大量复杂的编码。
'Atlas'的第二个目标把客户端脚本和ASP.NET服务器端的开发集成在一起。这更胜于集中所有开发仅在客户端或者仅在服务器端,'Atlas'为两种开发都提供了工具,使得你能够在让应用程序最有意义的地方处理它。ASP.NET为'Atlas'应用程序提供了如下服务器端特性:
· 把Web服务与'Atlas'集成是很有意义的,例如profiles 服务。
· ASP.NET Web服务器控件为"Atlas"应用程序公布了需要的客户端脚本。这些控件让建立'Atlas'应用程序变得容易,因为它们减少了学习'Atlas'客户端脚本APIs和组件的任务。
· 集成的开发工具例如Visual Studio,它提供了设计时开发环境,调试,语句完成,管理以及其它促进生产力的特性。
'Atlas' 架构
在它的最小形式中,一个'Atlas'应用程序由一个使用'Atlas'客户端脚本库来调用服务或者在某一服务器上的应用程序的Web应用程序。但对于一个有最佳开发选项和工具的应用程序来说,你也会想使用'Atlas'服务器组件。完整的'Atlas'架构有客户端脚本库和服务器端组件构成。
'Atlas'客户端脚本库
'Atlas'客户端脚本库由大量JavaScript(.js)文件组成,它为面向对象开发提供一些特性。对开发者来说在脚本环境中那脚本库不是预先可用的,还有使得在客户端脚本中会有更高水平的一致性和模块性。'Atlas'脚本库包含下列层次:
· 浏览器兼容层。它为你的'Atlas'脚本提供了跨许多浏览器的兼容性。
· 'Atlas'核心服务,它包含了大量的JavaScript的扩展,例如类,名称空间,事件处理,继承,数据类型以及对象序列。
· 'Atlas'的基础类库,它包含一些如string builder,debugger,timers以及tracing等组件。
· 网络层,它与基于Web的服务和应用程序沟通,管理异步远程方法调用。
· UI层,它提供大量'Atlas'客户端能力:行为,'Atlas'公布的语法,UI组件以及数据绑定。
· 控件层,它为客户端开发创建特定的'Atlas'型控件。控件能数据绑定,编写脚本,绑定至'Atlas'行为例如拖拉操作等诸如此类。该层包含的控件有自动完的成文本框,普通表达控件,数据绑定的listview 控件,导航控件等等。
'Atlas'服务器组件
'Atlas'服务器控件主要由ASP.NET Web服务和ASP.NET 服务器控件组成。'Atlas'也在ASP.NET中的组件,包含Web服务和服务器控件。这些组件'Atlas'客户端脚本库联合工作。
'Atlas' 能利用大量的ASP.NET Web服务,包括里面这些:
· Profiles服务能在服务器保持用户信息。
· 成员资格服务(membership service)提供验证选项。
· 角色服务(roles service )能为'Atlas'执行基于角色的授权。
· 个性化服务(personalization services)在服务器中保存特定用户和特定页面的个性化数据
· 国际化和特定文化服务是可用的。
ASP.NET也包含类似ASP.ENT服务器控件的'Atlas'服务器控件,但是发布为'Atlas'客户端脚本。ASP.NET 'Atlas'服务器控件简化了生成'Atlas'客户端脚本的过程,适合那些专注于服务器端的开发者。'Atlas'包含一套完整的与已经存在ASP.NET服务器控件接近的相应的服务器控件。例如,buttons,labels,options,text boxes,check boxes,hyperlinks,以及validation 控件等。也有特殊的为产生一些客户端行为而发布JavaScript的'Atlas'控件,例如ClickBehavior 控件, Popup 控件, 还有AutocompleteBehavior 控件。所有这些控件都集成至Visual Studio。因此你能够在设计器中像使用标准的ASP.NET服务器控件那样使用它们。