当前位置: 首页 > 工具软件 > MooTool > 使用案例 >

jQuery、prototype、mootools、YUI框架比较

武元白
2023-12-01
个人觉得: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库)。

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

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

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

解,无他。
 类似资料: