目前流行的JS框架很多Dojo 、Scriptaculous 、Prototype 、yui-ext 、Jquery 、Mochikit、mootools 、moo.fx 等。当然还有很多我都不熟悉的框架,就没有列举。

很多人会在坛子里问,到底哪个框架好呢?哪个框架更牛x呢? 哪个框架OO 更舒服呢?

个人觉得,这是一个新手很容易犯的错误逻辑。 世界上任何东西,任何工具,都没有最好的这一个说法,只有适合和不适合。

我们要根据我们项目的真实需要来选择具有相关特性的框架。

一、JQuery
推荐级别:五星级 
使用场景:任意 
下载地址:jQuery 或google搜 jquery下载 
推荐原因:目前来说我使用最多的框架,也是我个人最推荐的一个。具体好在哪呢? 1.小 2.简单. (学习成本低,但成效高,手册有足够清晰的例子让你从0到项目完成) 3.内部结构好,开源,侧重逻辑 4.对DOM选择强大(其实,JS大多时候是在处理DOM)5.UI扩展好 (这里要提到的就是 Jquery tools和 Jquery UI,大家可以去搜搜看这两个Jquery的扩展UI,你会发现ui原来如此简单,也是因为ui的可扩展性,所以他相对于其他框架毫不逊色)。

二、Extjs
下载地址:HTML5 App Development for Desktop and Mobile. JavaScript Frameworks and Dev Tools from Sencha.
使用场景:内部系统、后台系统、管理系统等。 
推荐级别:四星
推荐理由:Extjs有着非常牛逼的UI设计。设计思想:100%面向对象和组件化的思想,推进RIA(Rich Internet Application)的应用。所以当你做像后台管理,企业内部流程,或其他管理系统的时候,这个东西无疑是你的最佳选择。为什么呢? 因为它几行代码就可以生成非常漂亮的全界面UI,功能强大,样式可选。 做过一个CMS的后台和一个企业内部的系统都是用这个做的,节省了很多人力和时间,而且广受好评。但是有缺点:在一个页面加载很多tab的时候,js可能会要同时下载若干个文件。简单说就是js会比较大!稍复杂,为重量级的框架(包含大量UI),体积大。如果导入ext-all.js,压缩后也有近500k。 但对于后台管理和企业内部系统来说,这个会成为瓶颈。

三、YUI
下载地址:YUI Library
推荐级别:4星 
推荐理由:YUI这个框架我只研究过,但没用在项目中独立使用过。大多是进入项目后,前辈们使用了YUI,然后我们在后续开发中延续了之前的角色而已。很久以前版本的QQ硬盘、mop的某些模块使用过的,但现在就是很清楚哪些人还在用了。YUI和Extjs有点相似,UI方面有很多优势。 
使用场景:拆分YUI的各个模块,对不同需求采用yui中的某部分来填充到自己的模块中。或者是类似于网盘应用这种东东。

四、Dojo
下载地址:Unbeatable JavaScript Tools
推荐级别:四星 
推荐理由:Dojo是功能最为强大的javascript框架,刻意提醒一下:功能最强大。所以它几乎包含了所有你可能想要用到的东西。 Dojo更适合企业应用和产品开发的需要,因为离线存储、DataGrid、2D、3D图形、Chart、Comet等组件对于企业应用来说都是很重要的(当然这些组件还要等一段时间才能稳定下来)。例如,BEA基于Mashup技术开发的产品中已经使用了Dojo。优点:背后强大的支持,IBM、Sun、BEA等,这是非常重要的优势;面向对象的设计、统一的命名空间、包管理机制、可扩展性。但是但是,我们是否需要这些功能?做 web2.0产品是有要这么大的东东? 这个按照你自己的需求来。 而且Dojo缺点很明显,太大,功能太多,复杂,学习曲线太陡;文档的极端不全,API很多不稳定,这是很大的问题;侵入性太大,页面中大量使用Dojo属性,例如<button dojoType="dijit.form.Button" id="helloButton">,如果将来dojo升级或者换一个框架时,负担会很大;性能问题,由于dojo加载采用了同步的机制,会暂时锁定浏览器,导致CPU使用率达到100%,另外,很多组件(Widget)的速度很慢。 但是它做企业应用的话,那简直是如鱼得水。这也是IBM等公司招聘的时候,把Dojo和学习Dojo放在第一位的原因。

五、Prototype
最成熟的。但个人认为可以被Jquery取代。两者相似度也比较高。这里就不多说。

六、Mootools
下载地址:MooTools - a compact javascript framework
推荐级别:4星
推荐理由:OO(面向对象)设计思想。模块化强,耦合度比较低。优点:模块化,各模块代码非常独立,最小的核心只有8k,最大的优点是可以选择使用哪些模块,用的时候只要导入模块就行,完整的补刀180k,压缩后补刀70k;语法简洁直观;特效(effects)比jQuery稍强,现在也在开发Mootools UI。缺点:修改了底层的一些类,如Array、String等,这也是设计思想的不同;在DOM和css selector上不如jQuery强大。

总结

轻量级的选择:

主要是mootools和jquery,

由于它们的设计思想的不同,jQuery是追求简洁和高效,Mootools除了追求这些目标以外,其核心在于面向对象,

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

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

Mootools目前没有,但是Comet的核心在于服务器的支持,浏览器端的接口很简单,开发相关的插件很简单。

在面向对象的Javascript Library中,mootools逐渐战胜了prototype(体积大,面向对象的设计不合理等),也包括script.acul.ous(基于prototype,实际上就是prototype上的UI库)。

面向RIA的框架

考虑纯JavaScripty库,目前主要是Dojo和ExtJS(还有YUI)。

Dojo更适合企业应用和产品开发的需要,因为离线存储、DataGrid、2D、3D图形、Chart、Comet等组件对于企业应用来说都是很重要的(当然这些组件还要等一段时间才能稳定下来)。例如,BEA基于Mashup技术开发的产品中已经使用了Dojo。

ExtJS:美观和"易用",并且足够强大。在对UI有比较大的需求时,是首选。

参考文献:

  http://blog.csdn.net/eyetee/article/details/7861741

转载于:https://www.cnblogs.com/cxying93/p/6105291.html

为什么会有jQuery、Dojo、Ext、Prototype、YUI、Zepto这么多JS包?相关推荐

  1. [导入]几种流行的AJAX框架jQuery,Mootools,Dojo,Ext JS的对比

    AJAX是web20的基石,现在网上流行几种开源的AJAX框架,比如:jQuery,Mootools,Dojo,Ext JS等等,那么我们到底在什么情况下该使用那个框架?以下是一组摘抄的数据: Aja ...

  2. 组件,库,控件,插件 集合(jQuery/绘图/富文本/PDF/Excel/国际化/Three.js/JSZip/JSEncrypt/Axios/其他)

    组件(库)的概念 包含 控件(UI组件).插件(基物上的组件) jQuery 位置与尺寸 $(window).scrollTop()   //鼠标滚动高度 $(window).height()     ...

  3. 原创jQuery移动设备弹出框插件——msgalert.js

    最近开发经常会用到顶部弹出框,虽然有现成的(bootstrap等),但是都很臃肿,对于有些时候移动端活动页面有点大材小用.所以今晚花了20分钟写了一个通用的插件,我将其命名为msgalert.js. ...

  4. jQuery国际电话区号选择插件intlTelInput.js

    jQuery国际电话区号选择插件intlTelInput.js URL:  http://www.jq22.com/jquery-info12917 jQuery世界地区三级联动 URL:  http ...

  5. 利用jQuery的deferred异步按顺序加载JS文件

    前段时间看了阮一峰的jQuery的deferred对象详解一文,对jQuery中的deferred的用法了一些了解,今天看到园子里的一篇文章:关于重构JS前端框架的失败经验(顺便怀念那些死去的代码), ...

  6. jQuery.parseJSON(json)方法将字符串转换成js对象

    原文地址为: jQuery.parseJSON(json)方法将字符串转换成js对象 概述 接受一个JSON字符串,返回解析后的对象. 传入一个畸形的JSON字符串会抛出一个异常.比如下面的都是畸形的 ...

  7. cdn大全 jquery/jqueryUI/Dojo/MooTools/Prototype

    类库预览 https://developers.google.com/speed/libraries/ Audience This documentation is designed for peop ...

  8. 几种流行的AJAX框架:jQuery,Mootools,Dojo,Ext JS的对比

    为什么80%的码农都做不了架构师?>>>    轻量级的选择:主要是mootools和jquery,由于它们的设计思想的不同,jQuery是追求简洁和高效,Mootools除了追求 ...

  9. 普加甘特图集成到第三方JS框架(MiniUI、jQuery、Ext等)

    首先,对于MiniUI.jQuery, YUI, Prototype.js等框架来说,它们对页面的操作基于原始Dom元素的. 所以,你可以不用做任何额外的处理,按PlusGantt正常的例子,把项目甘 ...

最新文章

  1. iOS开发经验总结,我的2019进阶之路!
  2. 微软开放 AI 系统工具 Counterfit 源代码
  3. Xamarin中打开别人项目找不到android.jar文件
  4. Hadoop的改进实验(中文分词词频统计及英文词频统计)(1/4)
  5. 不显示坐标刻度_如何使用坐标交叉位置来改变Excel图表的展现形态
  6. c语言在dos下执行bat文件,应用dos批处理文件经常用到的DOS常用命令
  7. gulp之gulp.watch报错
  8. text html artemplete,artTemplate前端模板引擎使用说明
  9. Android各控件Demo下载地址
  10. unity3d 挂载脚本_Unity3D加载资源的四种方式
  11. 看故事也能长知识,CPU的工作原理原来这么简单!
  12. android里面的USB功能----Host模式
  13. QtAndroid具体解释(6):集成信鸽推送
  14. Go微服务架构实战 中篇:6. 微服务治理策略
  15. 如何保护个人信息安全?
  16. 如何设置Mac电脑的DNS
  17. 如何用 ARKit 将太阳系装进 iPhone(二)
  18. 编码 data:text/html;c,[网页设计]图片base64编码利器:在线 Data URI 生成工具 – Duri.me...
  19. 计算机进制单位tb以上,计算机容量单位的换算 B,KB,MB,GB,TB
  20. html防替换资源,蓝梦HTML批量替换工具免费版

热门文章

  1. 新建计算机管理员用户,电脑我设置个新的用户 怎么切换不到默认的管理员用户登陆了...
  2. iOS开发之runtime(16):设置/获取section数据详解
  3. ERP项目管理的关键控制点
  4. Azkaban工作流调度器(1)--azkaban的安装
  5. Android系统开发之唤醒与功耗
  6. pythoncsv格式清洗与转换_数据预处理-清洗转换
  7. linux使用教程_iTOP-4412-QtE系统源码以及Linux系统-wfi设置以及使用文档 - 心底狂像...
  8. Python中的图灵机器人
  9. um是代表什么意思_白玫瑰代表什么意思 居然有这么多含义
  10. 认知觉醒是成长的首因,送3本硬核认知提升书