ASP.NET Atlas Framework概览

asp.net

  介绍

  代号Atlas是一项新的ASP.NET网页开发新技术,在ASP.NET 2.0 服务器开发平台下集成Client端的Script Libraries,Atlas对于网页开发所构建的AJAX策略能够让你从Client端Script调用Server端的网页应用程序,Atlas能够处理Client端的应用程序重要部分而不必往返Server端更新Page页面。

  这种发展策略能够令你建立一种新类型的Web应用程序,而且具有许多超越传统Web开发的一些利益优点,AJAX类型应用程序能够提供较好的性能、跨浏览器运作、且能让你建立更为丰富的用户接口特色。

  ASP.NET的Atlas套用了这种新策略在Web应用程序构建上,同时加入了Client端及Server端的开发组件来大大增强Atlas的AJAX开发能力。

  Atlas目标

  Atlas主要在以下两方面提供开发者广泛的应用程序建置区块:

  1. 帮助程序开发人员建立Atlas应用程序。

  2. 在Server端的ASP.NET中集成Atlas client script特点,以提供一个广泛的综合性开发平台。

  8第一个目标:简化AJAX应用程序开发

  Atlas第一个目标是帮助你建立AJAX应用程序,因为AJAX本身具有一定的复杂性,而Atlas则替您管理开发AJAX应用程序所会面临的复杂性,提供的特色包括了:

  1. 在JavaScript程序开发方面提供了一致性且具有面向对象特性的APIs。

  2. 浏览器的兼容性,故您不必为了多种浏览器而另外撰写额外程序与部署组件,您的Web应用程序就可以跨浏览器而执行。

  3. 提供支持Rich UI特点的Client端Script APIs和组件,能够令你免除开发AJAX类型应用程序必须撰写大量程序代码的情形,举例来说,Atlas提供常用的Drag and Drop行为,且能够令您在绑定这些HTML控件时所需的程序代码量达到最小。

  4. Atlas的声明式语法与ASP.NET服务器控件声明语法模式类似,这样便能消除较为复杂的程序撰写。

  8第二个目标:Server端与Client端并存的Atlas技术方案

  Atlas第二个目标是集成Client Scripting在ASP.NET服务器的程序开发,有别于以往程序的开发不是专注在Client端就是专注在Server端的情形,Atlas同时提供了Client端与Server端的工具,无论什么样的情况下Atlas都可以协助您处理大多数的应用程序开发,ASP.NET为Atlas应用程序提供了下列服务器的特点:

  1. Web Service和Atlas应用程序之间的集成将会非常有用,如Profiles服务。

  2. ASP.NET网页服务器控件将会发出Atlas应用程序所需的Client Script,使用这些控件将会使得开发Atlas应用程序更为容易,因为那会减少需要学习Atlas Client Script APIs及组件所需的工作。

  3. 集成如Visual Studio的开发工具将会提供一个开发设计时期的环境、查错、完整说明、管理与生产力增强的特点。

  Atlas架构

  Web应用程序最小需求只要Atlas Client Script Library来调用Web服务器上的服务或应用程序即可,但作为一个最好的开发选项与工具而言,你可能会想要使用Server端的Altas组件,而Atlas架构同时由Client Script Library与Server端的Altas组件所组成,具体叙述如下:

  8Atlas Client端组件

  图1描绘了Atlas client script library架构图。

  
  图1 Atlas Client端组成组件架构图

  Atlas Client Script Library是由一些JavaScript(.js)文件所组成的,并且提供了面向对象特性以供程序开发,这不是之前的Scripting开发环境而已,它提供了一种新的一致性与模块化层次,Atlas Client Script Library包括了:

  1. 浏览器兼容层:为Atlas scripts提供了跨浏览器的兼容性。

  2. Atlas核心服务:包含了一些JavaScript延伸,如class、namespace、事件处理、继承、数据类型与对象序列化。

  3. Atlas基础类库:包含string builders、Debuggers、Timers、Tracing组件。

  4. 网络层:负责处理与Web Service及应用程序之间的沟通,以及管理异步远程方法调用。

  5. UI层:提供一些Atlas Client端的能力,包括behaviors、Atlas声明语法、UI组件及数据绑定。

  6. Atlas控件层级:为Client端开发提供了特定Atlas控件,这些控件能具有data bound、Scripted、绑定到Atlas行为如drag and drop等等,这层包含如auto-completion文字方块、一般类型控件、具有data-bound能力的ListView控件,以及导航控件。

  Atlas服务器组件

  Atlas服务器组件主要是由ASP.NET Web Services及ASP.NET服务器控件所组成,图2为Atlas服务器组件架构图:

  服务器端

  

  图2 Atla服务器端组件架构图

  图2意味着所有ASP.NET的功能特点能够完全被Atlas应用程序来取用。

  Atlas也包含ASP.NET服务器的组件,包括Web Services及服务器控件,这些组件能够与Client Script Libraries结合在一起运作,Atlas能够获得来自Web Services的一些利益优点,包括了:

  1. Profile服务能够持久化保存在Server上。

  2. Membership服务能够提供验证的选择。

  3. Role服务能够为Atlas应用程序提供以角色为基础的验证。

  4. Personalization服务能够持久化保存用户特定数据或网页特定数据到Server上。

  5. Globalization与Culture-specific服务也能够被Atlas取用/调用。

  ASP.NET亦包括了类似ASP.NET服务器控件的Atlas服务器控件,但是Atlas服务器控件却具有能够发出Client Script的能力,Atlas服务器控件简化了产生Atlas Client Script过程,适合想要专注在服务器开发的程序开发者,Atlas包含了完整服务器控件如Button、Label、Option、TextBox、CheckBox、HyperLink和Validator等,与现有ASP.NET服务器控件非常接近;也有Atlas伺制项能够发出JavaScript产生Client端行为,包括HoverBehavior控件、ClickBehavior控件、Popup控件与AutoCompleteBehavior控件,所有控件将会集成进Visual Studio之中,故你可以在设计模式中使用它们如同你在使用一般ASP.NET服务器控件一般。

  而Atlas Framework安装包亦已经提供测试版下载使用,其中提供了五个Hands-On-Lab,为了了解Atlas Framework本身的奥秘,笔者本身也实际安装测试使用,在做完前三个Lab时,仍不能明显感受到它与手工或者其他的AJAX Library有什么明显区别,心中想难道是微软夸大其词?但在做完第四个Lab之后,Atlas的感觉就来了,可以明显体验到Atlas的优越之处,果然有Framework层级的味道,而非仅仅是个Library函数库水准而已,像在Web中的TextBox控件里要做到像电子字典般Key开头几个英文字,接着画面就显示相关的英文字供选择,或者是以前有个朋友曾问我,他想在ASP.NET 1.0的TextBox控件中输入几个开头的订单号码,然后画面就……咚咚咚,从数据库中调用相关的记录显示在画面上供业务人员选取,我很直接地告诉他——我不会,两年过去了,解答就在这……Atlas Framework,简单到不可思议,最核心部分只要两行程序代码...就足以打败我以前修炼一甲子还做不到的功力(呵!夸张一下,我还年轻离一甲子还很远呢!)。

  

  图3 Atlas自动完成服务器控件

  结论

  在看完Atlas Framework功能及架构之后您是不是跃跃欲试心动不已呢!我了解现代人速成之心,没空耐着性子慢慢修炼或研究AJAX理论一年半载后再来实现,故下期我将介绍Atlas Framework实际上手的Labs,教您直接挥舞Atlas这把锋利的宝剑,您就会领略什么是Atlas,有了Sense之后再来讨论更深层的AJAX理论。

时间: 2024-09-30 10:47:51

ASP.NET Atlas Framework概览的相关文章

使用 ASP.NET Atlas PageNavigator控件实现客户端分页导航

asp.net|导航|分页|客户端|控件 English Version: http://dflying.dflying.net/1/archive/127_paging_your_list_using_aspnet_atlas_pagenavigator_control.html 在这个系列中,我将介绍一些Atlas Sys.UI.Data中较高级的控件,包括: Sys.UI.Data.ListView:使用ASP.NET Atlas ListView控件显示列表数据 Sys.UI.Data.

在ASP.NET Atlas中创建自定义的Transformer

asp.net|创建 English Version: http://dflying.dflying.net/1/archive/110_build_your_own_transformers_in_aspnet_atlas.html ASP.NET Atlas中的绑定(binding)是一种将两个对象连接起来的强大方法.(您可以参考http://dflying.cnblogs.com/archive/2006/04/04/366900.html得到更多关于绑定的信息.)Atlas绑定会自动将源

使用ASP.NET Atlas ListView控件显示列表数据

asp.net|控件|数据|显示 English Version: http://dflying.dflying.net/1/archive/113_display_listible_data_using_aspnet_atlas_listview_control.html 在这个系列中,我将介绍一些Atlas Sys.UI.Data中较高级的控件,包括: Sys.UI.Data.ListView:使用ASP.NET Atlas ListView控件显示列表数据 Sys.UI.Data.Item

ASP.NET Atlas April CTP发布

asp.net 下载地址:http://www.microsoft.com/downloads/details.aspx?FamilyId=B01DC501-B3C1-4EC0-93F0-7DAC68D2F787&displaylang=en 该版本可以说就是March CTP的Bug修复版本,而且基本上离最终版本不会太远了,想要采用Atlas开发AJAX的朋友可以着手使用这个版本了. 该版本修复了不少Bug,有些还很严重.列表请见:http://weblogs.asp.net/atlas/ar

在ASP.NET Atlas中创建自定义Action

asp.net|创建 Action是ASP.NET Atlas中继承于Sys.Action基类的的一类组件,用来实现一类由某个事件引发的事件处理功能.Action与事件处理函数的功能类似,但它是一类泛化了的事件处理组件,用来描述一些常见的,通用的事件处理方法,例如调用某个方法,设定某个对象的某个属性,引发一个PostBack等. 我们都知道,目前为止,Atlas最好的参考手册就是它的源代码.我们可以从源代码中找到如下三种Atlas的内建Action,他们都继承于Sys.Action基类: Sys

ASP.NET Atlas对JavaScript的扩展

asp.net|javascript JavaScript是一门非常强大的基于对象(Object Based)的语言,但是对面向对象(Object Oriented)的支持还存在一些不足,同时JavaScript内建的类库也比较简单,甚至缺乏一切很常用的功能.ASP.NET Atlas在运行时扩展了JavaScript,大大增强了它的面向对象支持能力,并扩展了一些开发时常用的操作. 我参考了一下Atlas.js文件,总结出Atlas对JavaScript有如下扩展.某些地方有所遗漏或错误,还请各

使用ASP.NET Atlas开发检测密码强度的自定义Behavior

asp.net 本文源于维生素C.net的一篇文章利用数学方法来大大降低一个逻辑判断实现的难度的例子.检测代码来自THIN的检验密码强度的JS类. Atlas中提供了客户端JavaScript强大的面向对象功能,这几天看到了上述二位的帖子,觉得这个功能需求在日常开发中还是很常见的.晚上闲来无事,将上述功能封装为Atlas中的Behavior,以方便重用.关于Atlas的Behavior,请参考:在ASP.NET Atlas中创建自定义的Behavior. 按照在ASP.NET Atlas中创建自

在ASP.NET Atlas中调用Web Service—处理错误

asp.net|web|错误 在本系列的上一篇(在ASP.NET Atlas中调用Web Service--介绍及简单应用)中,我们熟悉了Atlas中调用Web Service的最基础方法,但是在实际开发中,仅仅发出请求并等待返回结果是不够的,我们大都需要考虑对错误超时等的处理,也要允许用户取消操作.幸运的是,Atlas对Web Service中的Web Method的封装也充分考虑到了这些需求.让我们举一个Web Method的例子来说明,例如,对于如下的Web Method: public

在ASP.NET Atlas中调用Web Service—批量调用以提高效率

asp.net|web 对于Atlas程序,在某些情况下,我们需要在短时间内调用大量的Web Service,例如某个列表中用户快速的点击删除.这时网络带宽,稳定程度等等往往会造成较长时间的延迟.如果可以将这些调用包装成一个单一的请求,那么用户只需忍受一次网络延迟,即可得到处理的结果,也间接的提高了效率.似乎这并不是一个很容易实现的功能,但幸运的是,Atlas中内建了对批量调用Web Service的支持,您所需要的只是在程序中简单设置一下. Atlas中每个Web Service的调用请求都有