阿不

潜水

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

Atlas的脚本库中有10个脚本的文件,通过Atlas的Document可以了解到不同文件的作用。其中Atlas.js和AtlasRuntime.js是Atlas的两个核心的脚本库,又可以说AtlasRuntime.js是Atlas.js的一个子集,在AtlasRuntime.js提供了对javascript类库的一些扩展,实现了对OO Javascript的基本支持,并且在AtlasRuntime.js还包括Ajax调用支持,包括调用Web Service。而在这些也都被包含在Atlas.js。除此之外,在Atlas.js中,还包括了太多的类库扩展,命名空间定义,和进行Atlas客户端开发所需的类和客户端控件。所以相对于其它的Ajax库,Atlas.js是一个真正的封装完善的Framework,当然,它的体积也是特别大的(Release Version: 239KB),所以这就是为什么除了Atlas.js还要提供一个AtlasRuntime.js文件的原因,它的功能比较简单,但是很实用,所以就没有那么胖了 (Release Version:56KB ,而Prototype.js:54KB)。

    那么Atlas与Prototype.js之间是互补还是可互换的关系?这个问题是我前些天在开始学习Prototype.js提出的问题,也是出于这于这层的目的,才促使我去了解和学习Atlas的ScriptLibrary。现在看来,Atlas和Prototype.js对ajax的实现技术走的是两条完全不同路线,Atlas偏向于提供一个完整的,与目前Web Form相类似的全新的Ajax编程技术。它可以做到提供一个比较完整的,全新的javascript库(类似于.NET类库),并且与Visual Studio 2005紧密结合的开发技术,可以说在它与Visual Studio真正很好结合的时候,那将一个革命性的Web 2.0开发技术的进步。

Prototype.js则主要是提供对当前一些Javascript对象的一些扩展,并且出于更容易编写javascript的目的,提供了一些新的类和对象。利于Prototype.js,可以更加方便的容易的写javascript程序,除之外,它并没有提供更多的Ajax支持和Framework层次上的意义。

所以,我想Atlas和Prototype.js应该是互补的,可以配合使用的。当然在一些javascript对象的扩展属性和方法上可能会存在部分的冲突,比如:Array.clear()在atlas和Prototype.js中都扩展了,但是功能都是一样的,应该不会影响使用。更多的扩展我认为是互补的,比如:Array.clone()是在atlas中扩展的,而Prototype.js没有。Array.compact()方法只在Prototype.js被定义了。

THIN的Blog上可以下载到中Prototype.js 1.4中文使用手册。在这份手册中,可以很详细了解Prototype.js,当然如果想更加深入的学习它的源码,还可以看prototype源代码解读(转自javaeye)。通过这些资源相信已经可以很好的了解Prototype.js了。

posted on 2006-06-18 16:57  阿不  阅读(2310)  评论(8编辑  收藏  举报