1 现流行的Ajax框架技术简介
现有的Ajax从框架角度分级的话,可以有以下分类:
Ø 零级,完成base工作,包括扩展原有对象的方法,Ajax通讯部分,比较精简。
Ø 一级,完成effect工作,包括增加常用效果转换函数,如tween、drag、maskLayer、fade等的特效。
Ø 二级,完成component工作,包括对话框、列表、树、日历等的组件。
Ø 三级,完成application工作,包括完整的前端平台,允许用户定义能实现一定功能的模块。
一些框架只做零级,如Prototype.js,一些框架做到二级,如jQuery ,一些框架做到了三级,如Asp.net Ajax 和EXT。
选择合适的Ajax框架能提升客户体验,减少开发工作量和兼容主流浏览器等作用。
1.1 Asp.net Ajax 简介
主页:http://www.asp.net/cn/
特点:
ASP.NET Ajax集成了一套客户端脚本库使得与功能丰富的、基于服务器开发平台的 ASP.NET结合在一起。其服务器端编程模型相对于客户端编程模型较为简单,而且容易与现有的ASP.NET程序相结合,通常实现复杂的功能只需要在页面中拖几个控件,而不必了解深层次的工作原理,除此之外服务器端编程的ASP.NET AJAX Control Toolkit含有大量的独立AJAX控件和对ASP.NET原有服务器控件的AJAX功能扩展。
1.2 Jquery简介
特点:
简洁的思想:几乎所有操作都是以选择DOM元素(有强大的Selector)开始,然后是对其的操作(Chaining等特性)。本身特别容易上手, 代码非常简单,非常贴近原生态的JavaScript,文件也非常小。
1.3 Extjs 简介
特点:
100%面向对象和组件化的思想,一致的语法,全局的命名空间。文档的完整,规范,方便。所有的组件(widgets)都可直接使用,而无需进行设置
2 性能比较
Ajax 应用程序的性能取决于 Web 应用程序的几个方面:
Ø 服务器响应时间
Ø 网络传输时间
Ø 客户机 JavaScript 的处理时间
可以用不同的框架制作出程序样例,使用FireBug比较测试其性能
从生成机制来说
Asp.net Ajax 服务器控件会生成其控制代码,本机测试MicrosoftAjax生成原始文件在86k ,加载速度比较快
Jquery原始文件比较小,在20k左右,加载速度比较快
Ext2.0原始文件500多k,加载速度稍慢。
当然可以通过性能优化,减少不必要的加载项,使用缓存等技术提升Ajax的性能。
Asp.net Ajax和ExtJs性能比较参考:
http://www.cnblogs.com/jchdong/archive/2010/01/05/1640012.html
3 易用性比较
3.1 Asp.net Ajax的使用
和VS2008 开发环境集成,开发和调试非常方便。
通常实现复杂的功能只需要在页面中拖几个控件,而不必了解深层次的工作原理,除此之外服务器端编程的ASP.NET AJAX Control Toolkit含有大量的独立AJAX控件和对ASP.NET原有服务器控件的AJAX功能扩展,实现起来也非常简单。网上有大量的书籍,源码和视频 资料,同时也是微软官方社区支持的。
3.2 Jquery 的使用
微软的visual studio 2008 sp1支持对jquery的动态提示,只要在代码页导入对应的vsdoc脚本就可以实现智能提示。该框架也有大量的示例它的文档说明很全,而且各种应用也说得很详细,同时还有许多成熟的插件可供选择.
3.3 Extjs 使用
微软的visual studio 2008,Eclipse等开发工具同样支持对Extjs的智能提示,只要在代码页导入对应的JS脚本就可以实现。该框架也有大量的源示例,它的文档说明很全,而且各种应用也说得很详细.
4 功能比较
4.1 Asp.net Ajax 功能
Asp.net Ajax提供 一套完整的回调框架( UpdatePanel,Timer 等控件)和UI 控件(AutoCompleteExtender自动完成,DragOverlayExtender 拖拽,PopupExtender添加弹出窗口)实现Ajax特效,通过WebRequest等类比较方便实现异步通讯,同时也较好兼容.NET框架中现有的编程模型。
4.2 Jquery功能
JQuery是一个快速的,简洁的javaScript库,使用户能更方便地处理HTML 的documents、events 等Dom对象。同时也有大量的插件(File upload文件上传,Grid表格,jQchart 图表)实现Ajax特效 。也较方便的实现Ajax异步通讯。
4.3 Extjs 功能
Extjs 和Jquery一样拥有强大的 JavaScript 类库,能方便的处理Html中Dom对象,
可以实现的Ajax特效较多,高亮显示选中的行,推拽改变列宽度,按列排序,支持本地以及远程分页 ,可在tree和grid之间进行拖拽。在处理异步通讯也同样方便。
5 费用比较
Asp.net Ajax 和 其扩展控件是免费集成在VS2008 开发环境中的。
Jquery 框架属于开源框架,暂目前是免费的框架 。
Extjs 2.0 以后需要遵循LGPL协议才能免费使用;否则要付费。
其价格如后列表: