JS库选择

来源:互联网 发布:数据质量问题 编辑:程序博客网 时间:2024/06/07 04:58
现今流行的JS库各有各的功能,这些功能大致分为三大类:
    I、DOM的访问、遍历和操作;
    II、语言扩展、事件处理、AJAX、JSON和XML处理;
    III、界面组件;
    IV、动画效果。
    Dojo(http://dojotoolkit.com):覆盖了全部四个功能,这个库分为core、dijit、dojox三个部分,可按需要添加。
    Prototype(http://prototypejs.org):它提供了功能I和II。这个库可以说是所有JS库中最流行、应用最广泛的,很多JS库都是建立在它的基础上,而且,Prototype已经被集成到ROR中,据说也可能会成为JavaScript下个版本的语言核心部分。Prototype是我JS编程的必备工具,几乎每个用到JS的页面都会把它加进去。我也是从这个库开始接触面向对象JavaScript的。Prototype社区和邮件列表也非常活跃,时时刻刻都有开发小组中的人在“值班”,我以前碰到过的难题和疑问都在这个社区中得到解决,同时深深感叹于外国程序员的工作效率和热情。
    jQuery(http://jquery.com):是第一个真正突出了方法链作用的JS库,提供了不同于Prototype风格的JavaScript写法。要说功能,也和Prototype差不多,亮点其实还是方法链,这也使得操作DOM时,代码更紧凑而又不影响可读性。这个库现在也非常流行,我因为JavaScript的写作风格原因,还没有深入接触这个库,但初学过jQuery,已经让我感到,它也会象Prototype一样成为我的JS必备工具。
    YUI(http://developer.yahoo.com/yui):初次接触YUI时,感觉到它很大,大到令人望而却步(第一次想在项目中使用它,就是因为它大,吓得我没敢用)。YUI正如其名,主要提供了功能I和III。它主要采用的是传统的JavaScript写作风格,但通过命名空间很好的组织了代码。如果使用YUI而感觉它的命名空间很复杂的话,可以为这些命名空间创建别名对象。这个库可以使你创建丰富的WEB界面,抛开复杂的命名空间,用起来还是很不错的。
    Mootools(http://mootools.net):主要提供了动画(百叶窗、拖拽等)、AJAX等功能,它的一个很有意思的特性是,可同时为多个元素添加动画效果。这个库我只是通过demo觉得很可用。还有就是,它是我第一个接触到的提供压缩格式的JS库。
    Script.aculo.us(http://script.aculo.us):提供了丰富的动画效果和一些界面组件,是最早流行的效果库,使用简单,容易上手,让我这看见Photoshop就头疼的人能轻易的制造出界面特效来。它就是建立在Prototype的基础上。
    ExtJS(http://extjs.com):它原来的基础就是YUI.Ext,如果觉得YUI复杂的话,就用它吧。
    还有很多优秀的JS库,但没用过就不敢在这里评价了。
    我的选择依据是:
    简化JS代码,使代码写起来更漂亮、更易读、更好维护的JS库一般是不可少的,Prototype、jQuery两者选其一就行,看你喜欢哪种风格的写法。什么?都不喜欢,就喜欢传统风格的,那就俩都别用。其实,这两个库真正吸引我的不是AJAX,能解决跨浏览器的问题,才是最最最关键的。Prototype是我最喜爱的,除了Java、Spring、AJAX,它是第四个给我震动最大的“朋友”了。
    创建丰富的界面可以选择ExtJS,简单好用,但YUI能提供的似乎更丰富些。
    想做动画特效,Script.aculo.us是首选,Mootools能提供的不多(最新版本没看过,不知道啥样了)。
    想要功能I-IV全能的,Dojo啊。如果觉得Dojo不能完全满足你,可以考虑其它JS库的组合,但在实际应用中要注意命名冲突的问题。
原创粉丝点击