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简介
主页:http://jquery.com/
设计思想
简洁的思想:几乎所有操作都是以选择DOM元素(有强大的Selector)开始,然后是对其的操作(Chaining等特性)。本身特别容易上手, 代码非常简单,非常贴近原生态的JavaScript,文件也非常小。
1.3 Extjs 简介
主页:http://extjs.com/
设计思想
100%面向对象和组件化的思想,一致的语法,全局的命名空间。文档的完整,规范,方便。所有的组件(widgets)都可直接使用,而无需进行设置
2 性能比较
Ajax 应用程序的性能取决于 Web 应用程序的几个方面:
Ø 服务器响应时间
Ø 网络传输时间
Ø 客户机 JavaScript 的处理时间
可以用不同的框架制作出程序样例,使用FireBug测试其性能
从生成机制来说
Asp.net Ajax 服务器控件会生成其控制代码,生成的js文件可能稍微大些
MicrosoftAjax原始文件比较小,在82k ,加载速度比较快
Jquery原始文件比较小,在40k左右,加载速度比较快
Ext2.0原始文件500多k,加载速度稍慢。
当然可以通过性能优化,减少不必要的加载项,使用缓存等技术提升Ajax的性能。
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 同样支持支持对Extjs的动态提示,只要在代码页导入对应的vswd-ext脚本就可以实现智能提示。该框架也有大量的源示例,它的文档说明很全,而且各种应用也说得很详细.