无梦空间

JavaScript极限编程

导航

Atlas源码阅读系列之一

    Atlas是微软开发的一个开源的AJAX库,致力于富客户端WEB开发.
    本系列是我对Atlas源码阅读和分析的一些笔记式记录,谈不上严谨,只是一些心得体会.
    首先本节简要介绍一下Atlas的组成.

    一般,在.NET下应用Atlas库,都会使用一个编译好的DLL:Microsoft.Web.Atlas.dll,然后必须使用如下的标签声明:
<atlas:ScriptManager runat="server" ID="ScriptManager1" />
    其实,所谓Atals库,本质上也就是一个javaScript库,你完全可以直接在代码中进行这样引用,而无需声明如上标签:
<script type="text/javascript" src="../../Script/Atlas/Debug/Atlas.js"></script>   
    这两种方法,最终都是将要引用的javaScript代码在页面被人加载浏览时传送到客户端进行工作.

    当我们获取一个Atlas的发布版本后,我们可以发现Atlas文件夹下有Debug和Release两个文件夹.其实
Debug和Release中的js文件是一样的,不过Release是专门用来工作的,因此紧凑了很多,基本不能进行分析阅读.而Debug中的js文件,则是阅读的对象.

1)js文件分析
    在
Debug文件夹下,有如下js文件:
AtlasRuntime.js:这个文件是最基本的,是可以用来运行"atlas"特性的最小脚本.它包含了"atlas"对javaScript的面 向对象扩展, 和一些如web Services,netWorking service特性实现,包含了atlas整个框架构建实现atlas式开发的基本代码.
Atlas.js:它是
AtlasRuntime.js的父集,包含了AtlasRuntime.js 的所有代码和功能,在runtime的基础上增加了整套的客户端组件\组件以及"Atals"为data-binding\客户端UI而声明的详细语法.它是最常用的库脚本,也是最主要的.
AtlasCompat.js:为"Atlas"的功能提供跨浏览器的能力.

AtlasCompat2.js:为"Atlas"的功能提供跨浏览器的能力.
AtlasFX.js:包含除AtlasRuntime.js代码之外与Atlas.js一样的代码,它被用于寄生的插拨式的小配件这样的情况.
AtlasUIDragDrop.js:实现Drag/Drop拖放功能.(这个应该是比较热门的技术)
AtlasUIGlitz.js:实现一些奇特的UI效果.
AtlasUIMap.js:实现虚拟地图功能.
AtlasWebParts.js:为ASP.NET WebParts控件实现"Atlas"特性.(个性化页面功能).
GadgetRuntime.js:用于Microsoft和MSN的Runtime代码
   
2)客户端脚本库的四个逻辑层组成.
1>JavaScript扩展:   JavaScript扩展是在原先的JavaScript上添加一些新的属性\方法和数据类型.比较重要的还有让你能创建类似于OO的结构,如类,命名空间,枚举,继承,接口实现等.
2>基础类库:   基础类型是一套通用的,用于debugging,事件处理,字符处理,web services,访问主机环境,组件的类.
3>核心UI框架:   包含架建UI基础框架和提供DOM\DHTML交互功能的一些"积木".它包含一个基本的control对象,一套行为,验  证,数据绑定,客户端内容模板,Drag/Drop,和其他的一些UI效果.
4>UI Toolkit:   包含一套单个的\客户端的\比标准HTML控件丰富的控件.它们包含许多典型的控件,比如:hyperlink,    listview,select,dataview,button,checkbox,textbox,label,datasource,counter 等等.


  

posted on 2006-08-23 15:00  想那风霜雪  阅读(790)  评论(0编辑  收藏  举报