在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了。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述