JavaScript(06): 优秀JavaScript库概览

jQuery

设计思想

简洁的思想:几乎所有操作都是以选择DOM元素(有强大的Selector)开始,然后是对其的操作(Chaining等特性)。

优点

  • 小,压缩后代码只有20多k(无压缩代码94k)。
  • Selector和DOM操作的方便.
  • Chaining:总是返回一个jQuery对象,可以连续操作。
  • 文档的完整,易用性(每个API都有完整的例子,这是其它框架现在不能比的),而且网上还有很多其它的文档,书籍。

缺点

由于设计思想是追求高效和简洁,没有面向对象的扩展。设计思路和MooTools不一样。CSS Selector的速度稍微有些慢(但是现在速度已经大幅提高).

Mootools

设计思想

面向对象的设计思想。

优点

  • 模块化,各模块代码非常独立,最小的核心只有8k,最大的优点是可选择使用哪些模块,用的时候只导入使用的模块即可,完整的也不到180k(没有压缩),压缩后不到70k。
  • 语法的简洁,直观;代码写的优美,易阅读和修改。
  • 特效,这一点比jQuery稍强,现在也正在开发Mootools UI(这应该是Ajax框架开发的一个趋势)。

缺点

  • 修改了低层的一些类:如Array, String等,这也是设计思想的不同.
  • 在DOM和CSS Selector上不如jQuery强大。

Dojo

优点

  • 背后强大的支持:IBMSun、等,这是非常重要的优势。
  • 功能的强大,Full Stack的框架,扩展了DHTML的能力,例如:支持与浏览器Back/Forward按钮的集成。
  • Dojo Offline,一个跨平台的离线存储API。
  • Chart组件,可以方便地在浏览器端生成图表。
  • 基于SVG/VML的矢量图形库。
  • Google Maps、Yahoo! Maps组件,方便开发Mashup应用。

Comet支持,通过通用的Buyeux协议。

  • 强大的UI(Dijit)。
  • 面向对象的设计,统一的命名空间,包管理机制、可扩展性。

缺点

  • 复杂,学习曲线陡。
  • 文档的极端不全,这是一个很大的问题。
  • API很多不稳定,各版本间改动较大,现在还不是一个成熟的框架。
  • 侵入性太大,页面中大量使用dojo的属性,例如<button dojoType="dijit.form.Button" id="helloButton">,如果将来dojo升级或者换一个框架时,负担会很大。

性能问题,由于dojo加载采用了同步的机制,会暂时锁定浏览器,导致CPU使用率达到100%。另外,很多Widget的速度很慢。

Ext JS

设计思想

组件化,推进RIA的应用。

优点

  • 强大的UI,而且性能不错,这是其最大的优点。
  • 速度快,管是UI还是其它模块。
  • 100%面向对象和组件化的思想,一致的语法,全局的命名空间。
  • 文档的完整,规范,方便。
  • 模块化实现,可扩展性强。
  • 所有的组件(widgets)都可直接使用,而无需进行设置(当然,用户可以选择重新配置)。

缺点

  • 稍复杂。
  • 为重量级的框架(包含大量UI),体积大。如果导入ext-all.js,压缩后也有近500k。

注意:EXT的商业使用:如果只是把extjs包含在自己的项目中,而且这个项目不是卖给用户做二次开发的工具箱,或组件库,就可以遵守LGPL协议免费使用;否则要付费。

除此之外,在早期的开发中大家可能会使用过Prototype,不能否认Prototype也是一个优秀的JavaScript库,它致力于改善JavaScript的可用性,添加了许多被JavaScript遗忘的特性;还有就是YUI,Yahoo!开发的直到现在仍然可以用来构造Web UI的优秀的库。如果仔细的想想,一个优秀的JavaScript库应该具备哪些特征呢?可能应该包含以下几个方面的内容:

1. 核心功能

    - DOM

    - 事件

    - Ajax

    - 动画

    - 用户界面插件 

2. 开发

- 良好的架构

- 开放授权

- 广泛的浏览器支持

- 较小的压缩文件 

此外,代码应当存放在开放的SVN中,能够进行Bug跟踪,并且经过良好的单元测试,完整的API文档和大量的教程,丰富的演示例子。

下面的链接地址是一个关于jQuery的讲义,希望对想了解jQuery的同学有所帮助。

http://download.csdn.net/detail/jackfrued/5984243

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值