JavaScript常用开发框架总结

由于框架很多,仅以笔者实际工作中接触的几个常用框架进行总结。

概况

Javascript已经成为了web开发最最基本的要求之一了。 而在现实的敏捷开发中,我们通常会选择一个JS框架来取代繁琐的Native Javascript的编写。你会发现这样会节省很多的时间,写的代码也很清晰便捷。目前流行的JS框架很多Dojo 、Scriptaculous 、Prototype 、yui-ext 、Jquery 、Mochikit、mootools 、moo.fx 等等。我们要根据我们项目的真实需要来选择具有相关特性的框架。

jQuery ExtJS Dojo MS Ajax比较

 

jQuery

ExtJS

Dojo

Asp.net AJAX

官方站点

http://jquery.com/

http://extjs.com/

http://dojotoolkit.org/

http://www.asp.net/ajaxlibrary/AjaxOverview.ashx

http://aspnet.codeplex.com/releases/view/34488

优点

  • 语法很简洁,而且抽象了动作和特效这样的概念,从而把组件自身和对它支持那些操作、特效之类的分离
  • 体积小简单
  • 对DOM选择强大, 几乎所有操作都是以选择DOM元素(有强大的Selector)开始,然后是对其的操作(Chaining等特性)
  • UI扩展好
  • 特别在VS2010默认引入了这个框架,估计发展更快

 

  • API文档特别好
  • 强大的UI,而且性能不错
  • 所有的组件(widgets)都可直接使用,而无需进行设置

 

  • 功能最强大,几乎包含了所有你可能想要用到的东西
  • 以组件全面而出名,不只是UI组件很全,其他非UI组件也很全(比如map之类的)
  • Dojo.require来管理依赖非常有创意
  • 大的UI(Dijit)

 

  • 支持Asp.net的服务端控件和客户端JS库
  • 数据绑定技术和Asp.net很相似
  • 后续估计和jQuery会有更好的整合

缺点

  • 可选择太多有时也是个问题,如表格就有很多的插件
  体积比较大,为重量级的框架
  • EXT授权协议涉及付费
  •   学习曲线太陡
  • 文档的不是很全
  • API不稳定,各版本间改动较大
  • Widget的速度慢
  •  版本变动较大

    使用情况调查

    http://ajaxian.com/by/topic/survey 这个站点可以看到各种框架的使用情况

    这个站点包括了IDE,库和浏览器使用等方面的调查,也可以作为我们选择的一个参考

    选择因素

    实际使用选择哪个框架的考虑因素如下:

    你的项目需求(即你需要哪些特性,例如是否要求做出精美的界面、特效或其它功能)

    是否支持A等级的浏览器(IE, Firefox等)?

    文档的质量:是否完善(包含教程,API,代码示例等)

    框架的可扩展性如何?为框架写插件容易吗?

    你是否喜欢它的API的风格?

    能大多程度上统一你的JavaScript代码的风格?

    框架大小(太大的框架导致用户下载时间的延长)

    框架是否强迫你改变写HTML的方式(Dojo就是这样)?

    代码执行速度:性能如何?

    代码是否为模块化(Mootools为高度模块化)?代码可重用性如何?

    开发工具支持

    使用JAVA的可以使用http://www.aptana.com/download_all.php 下的工具,基于Eclipse实现的。提供单独的安装文件,也提供Eclipse的plugins。 

     

    Visual Studio:

    对JavaScript的支持一直比较弱,不过通过各种扩展可以使用增强的功能,如下是一些常用的扩展:

    Javascript parserJavaScript的大纲显示

    http://visualstudiogallery.msdn.microsoft.com/en-us/288a2b0f-1357-47b4-8215-1134c36bdf30

    JSEnhancementsJavaScript代码折叠

    http://visualstudiogallery.msdn.microsoft.com/en-us/0696ad60-1c68-4b2a-9646-4b5f4f8f2e06

    其他的各种扩展下载地址:

    http://visualstudiogallery.msdn.microsoft.com/en-us

     

    你可能感兴趣的:(JavaScript)