三种Ajax框架使用比较
作者:管理员 来源:本站 浏览数:4023 发布时间:2011-12-7 18:10:37
随着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对客户端的要求也是比较高。