码行天下之--三种Ajax框架使用比较

来源:互联网 发布:药鼎进阶数据 编辑:程序博客网 时间:2024/04/29 17:58

======================================================
注:本文源代码点此下载
======================================================

随着web 2.0 被越来越多的人所了解和接受,做为其重要的组成部分,ajax技术也正被越来越的人所应用。然而其复杂的开发过程和低下的开发效率,使像我这样没有多少传统web开发经验的程序员望而却步。幸好,各种各样的ajax开发框架的出现,大大降低的开发门槛,并且提高了开发效率。自去年5月份了解ajax以来,也先后试用ajax.net,magicajax,atlas这三种ajax框架。由于各种因素,真正广泛应用到项目中的是magicajax,随着atlas的日趋成熟,目前也在逐步转到atlas。

ajax.net出现得比较早,而且是开源代码的,在早期的使用应该比较多。但是对程序员来说,仍然要写比较多的js代码,使用起来不是很方便。随后,magicajax的出现,转移的很多人的视线,它的功能就像它的名字一样,一个panel就能神奇地让包含在panel里的控件执行事件不刷新页面,但是真正应该起来,才发现它的效率真的是很大的问题。atlas做为微软为.net 2.0 量身订做的ajax开发包,有它的天生优势,目前已经发布了3个ctp版本了,之前也一直不敢将它使用到项目中。最近下决心使用了1月份的ctp版,感觉还是比较好的,它的功能非常强大(无刷新拖拽控件并与profile结合使用保存到数据库等),提供了好几个扩展的server control,并且也可以很容易使用客户端控件,实现完全的客户端代码执行,通过js代码可以很简单访问web service。也提供了类似magicajax的updatepanel控件,并且功能更加强大,在panel里执行的服务器事件虽然页面没有刷新,但仍可以使用request,response等环境对象(在magicajax是不行的),可能有人会认为它的js文件很大,每次下载会影响速度,但从目前的使用情况来看,效率比较magicajax高了很多,js文件也不是每次请求都去下载的。虽然还有一些bug,但已经可以初步应用了。atlas目前的社区交流还是集中在ww.asp.net论坛和国外的一些blog上(atlas.asp.net上有相关链接),这里特别推荐一下,flier's sky 的blog也正在推出atlas实现机制分析的文章。

ajax对的客户端环境要求在网上却没有找到很满意的答案。尽管ajax技术大部分使用到了xmlhttp对象,通过异步访问实现无刷新。而ie5以上就支持xmlhttp对象。今天在windows 98 ,ie5.5 的环境下测试访问几个ajax应用,却发现没有一个能够很好工作的。访问gmail,根本就进不了收件箱,到“正在载入”就死在那边了,访问ajax.net的demo,出现脚本错误,代码根本就没法执行。访问magicajax的demo,代码可以正常执行,但要刷新页面,也会出现脚本错误。访问atlas用updatepanel包含的级联下拉框,同样也是可以正常运行,但是页面也是要刷新,也提示脚本出错。但是用js直接调用web service的功能也是没有办法使用。所以ajax对客户端的要求也是比较高。


======================================================
在最后,我邀请大家参加新浪APP,就是新浪免费送大家的一个空间,支持PHP+MySql,免费二级域名,免费域名绑定 这个是我邀请的地址,您通过这个链接注册即为我的好友,并获赠云豆500个,价值5元哦!短网址是http://t.cn/SXOiLh我创建的小站每天访客已经达到2000+了,每天挂广告赚50+元哦,呵呵,饭钱不愁了,\(^o^)/
原创粉丝点击