Atlas 不仅仅是异步
最近学习研究了一下微软的AJAX框架,Atlas.这个框架对于实现AJAX里的异步请求,无刷新等技术非常的简便,功能也很强大,当然这些都是建立在DOTNET平台上.
对于这个框架,给我印象很深的就是,作为一个新的框架,能够与现有的ASP.NET技术实现几乎无缝的整合,并且只需要添加若干行代码,就能实现常用AJAX技术,而不需要对现有代码的大规模修改,效率和效益都是明显的.举个例子,比如实现一个文本框的输入的自动完成功能,之前我就用纯AJAX写过,光一个htm文件里的js代码就超过100行,另外还要一个空的aspx页面(里面没有html代码),然后在cs文件里写业务逻辑,最后通过字符串传递结果,整整加起来一共四个文件,而最终实现的只是一个小小的功能.如今用atlas框架,根本不需要去写繁琐的js代码,只需要引用一个自动输入的扩展控件,另外添加一个webservice,简单设置属性,之后剩下的就由atlas去处理.加起来代码不过50行,而且页面也更加的清晰.在没接触atlas之前,我还以为如果每次请求都用空的aspx页面,那么一个页面里由N个功能,就需要N个页面,可想项目文件将会爆满(如果采用纯AJAX).
如果仅仅用Atlas实现异步,无刷新等,可能只用了其1/3的功能,其最让我折服的是ControlTookit所提供的那些超强的服务器控件.跟Atlas核心部分里的控件一样的方便,实现的功能更加的炫目.目前的ControlTookit几乎把富客户端(C/S模式中)的功能都实现了,诸如拖放,放大,弹出菜单,悬浮菜单,滑动条等,让人忘记了那还是在浏览器里,几乎把WinForms里能实现的都搬到浏览器里,理论上说,用这些控件,作个类似于操作系统的界面足够了.当然除了模拟富客户端的功能,对于那些常用的B/S技术也是提供了不错的实现.比如文本框验证,密码强度检查,浮动广告等,经过ControlTookit里扩展控件的简单包装就可以实现.还记得刚开始接触网页编程时,为了实现联动菜单时,上网到处搜索js代码,最后找到了是一大堆的代码,无法下手,尝试修改却困于调试的泥潭,再加上js的知识缺乏,当时做出个东西还真不容易.如今有了atlas,最起码不需要为调试那些如乱码般的js脚本.
这个ControlToolkit的替代js的一部分工作,同时抢了部分CSS的饭碗.在现有版本里就有了体现,比如要实现流行的圆角框,在一些Css教材里都是首先找一个圆角图片,然后用css去布局,整了一大堆,最后可能还需要考虑浏览器是否兼容,使出什么招数,最终的效果可能还不尽人意.而ControlToolKit里的RoundConerExender,只不过区区几行代码,还是在页面里添加的,简单设置几个属性,实现是否圆角框只是简单的true或false,连找图片的麻烦都省了.至于那些动画效果就更酷,似乎连flash都得靠边了.
作为一个因AJAX技术而产生的框架,却并不是简单的异步,无刷新,可以说几乎把js,css,xml等技术都整合到了一起,对于开发人员来说是个不错的选择.不过这样过于舒服的框架,会容易使人忘记js,xml等最基础的东西,而这些语言是无平台性的.Atlas是好用,但不能滥用,光学Atlas是掌握不了AJAX的精粹的.