陈湖雨_毓 / 我的图书馆 / 【转】 jQuery、prototype、mootools、YUI...

0 0

   

【转】 jQuery、prototype、mootools、YUI框架比较

2012-03-05  陈湖雨_毓

jQuery、prototype、mootools、YUI框架比较

个人觉得:mootools 更符合面向对象,易扩展,对于熟悉面向对象的程序员来说很

棒。但 jquery 做小型网站更方便多了,插件也多。

现在常用的框架有Jquery,prototype,mootool,yui等,其他的框架都是非主流,有一

个数据很有意思,就是这几种框架的 市场占有率,我觉得这个数据没有太大意义,因为

这几种前端框架都有各自的针对性和特点,每种框架都适合相应规模的web项目,比如

prototype和 jquery适合中小网站开发,mootool适合中型网站开发,yui适合大规模

的web项目开发,而小网站的数量要远大于门户或sns这种大网站的, 因此,不论怎么

比较,jquery和prototype的使用数量都要超过mootool和yui。

在入门级开发者人群中,prototype是使用量最大的,因为他相对简单一些,这里的简

单和jquery的简洁不一样,prototype也 算“老”一点的框架,而且很多js高手入门都

是从prototype开始的,因此也有很多wd对prototype有特殊的感情,毕 竟,

prototype改变了我们对js的看法。它的很多设计思想也被沿用致其他框架中。但一个

框架是否优秀不应当只看一面,更重要的,框架对浏览器的支 持、文档、扩展行、性

能、编码风格这些因素也在影响框架的使用者。prototype太基础以至于对ie浏览器的版

本判断很粗糙,它糟糕的文档和扩展性, 都是阻碍其在那些想深入学习js 的人群中更加

流行的因素。因此,如果想积累一些入门级的前端实践 ,用prototype非常合适。

有人说jQuery是被设计用来改变你写JavaScript的方法的。在这一方面jquery的确作的

很好,20行的Dom javascript语句在jquery里只需要2-3行就可以完成,语言的简洁

简直太吸引人了,尤其对于前端开发工程师这群多少有些代码洁癖的人来说, 简直美妙

绝伦,甚至忽视了其粗糙的面向对象的结构这一致命的缺点。当我们过多的沉浸在代码

简洁的乐趣中无法自拔的时候,对更高级抽象的忽视往往阻挡住了我 们的视野。因此,

jquery本身无法承担庞大的网站架构任务,也只能在中小网站中搞一搞动画特效而已。

但这仍然无法阻止wd们对jquery的偏爱,只 要你有洁癖,那么你一定会喜欢jquery

的。

在面向对象的方面,mootool的确作的不错,软件设计模式中的高内聚和低耦合在

mootool中有良好的体现。文档也很完整,但 mootool的占有率一直不高是一个很尴尬

的现象,作底端太多余,无法和jquery竞争,作高端又有点吃力,无法和yui竞争,给人

鸡肋的感觉,就这 样。

如果你想作门户、如果你想作sns、如果你想作大型电子商务和电子政务网站,你大概只

有一个选择,那就是yui,yui抽象出了比其他框架更复 杂的层次结构、把模块按照不同

的层次划分,并定义层次之间模块依赖关系,这种设计使得yui对万行级代码的管理游刃

有余,这种重设计轻开发的思想是yui 的核心之一,此外,yui不仅仅是js框架,他是js

+css+规范的集合,必要的约束在团队协作项目中可以降低成本。其实yui本身也是团

队合作的产 物。在扩展性方面,我觉得yui是所有前端框架作的最好的,ext就是选择基

于yui进行扩展。相对来讲,prototype和jquery显然太小了。

总结

轻量级的选择主要是mootools和jquery,由于它们的设计思想的不同,jQuery是追求

简洁和高效,Mootools 除了追求这些目标以外,其核心在于面向对象,所以jQuery适

合于快速开发,Mootools适合于稍大型和复杂的项目,其中需要面向对象的支持;另

外,在Ajax的支持上,jQuery稍强一些;在Comet的支持上,jQuery有相关的插件,

Mootools目前没有,但是Comet的核心在于 服务器的支持,浏览器端的接口很简单,

开发相关的插件很简单。在面向对象的Javascript Library中,mootools逐渐战胜了

prototype(体积大,面向对象的设计不合理等),也包括script.acul.ous(基于

prototype,实际上就是prototype上的UI库)。

因此,特定的框架有特定的使用范围,在合适的项目上,相应的框架都会发挥其应有的

优势,因此,过分比较前端框架并得出熟优熟劣来纯粹是吃包了撑的,这和比较编程语

言那个好和操作系统那个好一样没有意义。总结至此只为加深对前端框架的印象和理

解,无他。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。如发现有害或侵权内容,请点击这里 或 拨打24小时举报电话:4000070609 与我们联系。

    猜你喜欢

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多
    喜欢该文的人也喜欢 更多