JQuery,Extjs,YUI,Prototype,Dojo 等JS框架的区别和应用场景简述


Posted in Javascript onApril 15, 2010

所以Javascript已经成为了web开发最最基本的要求之一了。 而在现实的敏捷开发中,我们通常会选择一个JS框架来取代繁琐的Native Javascript的编写。你会发现这样会节省很多的时间,写的代码也很清晰便捷。(当然在学生时代的是有也质疑过,用框架会对原生态的 Javascript理解不深入,其实这是多虑了的。在对框架的深入的同时,对原生的js也会理解的更透彻一些。成为一个精明的开发者,两者是相依相偎的。而最好的状态就是想Qzone前端一样,完全按照自己的需求开发出一套JS,CSS框架。?当然这是因为Qzone太大了)

目前流行的JS框架很多Dojo 、Scriptaculous 、Prototype 、yui-ext 、Jquery 、Mochikit、mootools 、moo.fx 等等。当然还有很多我都不熟悉的框架,就没有列举。 很多人会在坛子里问,到底哪个框架好呢?哪个框架更牛x呢? 哪个框架OO 更舒服呢? webryan 个人觉得,这是一个新手很容易犯的错误逻辑。 世界上任何东西,任何工具,都没有最好的这一个说法,只有适合和不适合。 我们要根据我们项目的真实需要来选择具有相关特性的框架。

一、JQuery

推荐级别:五星级

使用场景:任意

下载地址:www.jquery.com 或google搜 jquery下载

推荐原因:目前来说我使用最多的框架(当然我其他的框架也都真是项目开发过若干),也是我个人最推荐的一个。在和业内的一些技术聊的时候,发现 xiaonei.com的CTO 、腾讯、或是其他一些新兴的web2.0大牛们都首推这个框架。 那具体好在哪呢? 1.小. (这个上量后,很严重的问题) 2.简单. (学习成本低但成效高,手册有足够清晰的例子让你从0到项目完成) 3.内部结构好开源,侧重逻辑 4.对DOM选择强大(其实,JS大多时候是在处理DOM)5.UI扩展好(这里要提到的就是 Jquery tools和 Jquery UI,大家可以去搜搜看这两个Jquery的扩展UI,你会发现ui原来如此简单,也是因为ui的可扩展性,所以他相对于其他框架毫不逊色)。

二、Extjs

下载地址:http://extjs.com/

使用场景:内部系统。后台系统。管理系统等。

推荐级别:四星

推荐理由:Extjs有着非常牛逼的UI设计。所以当你做像后台管理,企业内部流程,或其他管理系统的时候,这个东西无疑是你的最佳选择。为什么呢? 因为它几行代码就可以生成非常漂亮的全界面UI,功能强大,样式可选。 做过一个CMS的后台和一个企业内部的系统都是用这个做的,节省了很多人力和时间,而且广受好评。 而它的缺点是,在一个页面加载很多tab的时候,js可能会要同时下载若干个文件。简单说就是js会比较大。 但对于后台管理和企业内部系统来说,这个会成为瓶颈。

三、YUI

下载地址:http://developer.yahoo.com/yui/

推荐级别:4星

推荐理由:YUI这个框架我只研究过,但没用在项目中独立使用过。大多是进入项目后,前辈们使用了YUI,然后我们在后续开发中延续了之前的角色而已。很久以前版本的QQ硬盘、mop的某些模块使用过的,但现在就是很清楚哪些人还在用了。它和Extjs有点相似,UI方面有很多优势。

使用场景:拆分YUI的各个模块,对不同需求采用yui中的某部分来填充到自己的模块中。或者是类似于网盘应用这种东东。

四、Dojo

下载地址:http://dojotoolkit.org/

推荐级别:四星

推荐理由:Dojo是功能最为强大的javascript框架,刻意提醒一下:功能最强大。所以它几乎包含了所有你可能想要用到的东西。)。 Dojo更适合企业应用和产品开发的需要,因为离线存储、DataGrid、2D、3D图形、Chart、Comet等组件对于企业应用来说都是很重要的(当然这些组件还要等一段时间才能稳定下来)。例如,BEA基于Mashup技术开发的产品中已经使用了Dojo。但是但是,我们是否需要这些功能?做 web2.0产品是有要这么大的东东呢? 这个要按照你自己的需求来。 而且Dojo缺点很明显,太大,功能太多,学习曲线太陡。 但是它做企业应用的话,那简直是如鱼得水。这也是IBM等公司招聘的时候,把Dojo和学习Dojo放在第一位的原因。

五、Prototype

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

六、Mootools

下载地址:http://mootools.net/

推荐级别:4星

推荐理由:OO设计思想。模块化强,耦合度比较低。有人说,它的UI效果比Jquery UI好一些,没用过它的ui就暂时不多说了。各位开发者可以参见他们的demo看效果或者选择器等东西是否适合自己。

ok,真正的框架还是用出来的,写出来的。如果你看完上面的东西还是一头雾水,那么建议你从JQuery开始吧。

Javascript 相关文章推荐
ajax上传时参数提交不更新等相关问题
Dec 11 Javascript
js设置控件的隐藏与显示的两种方法
Aug 21 Javascript
推荐8款jQuery轻量级树形Tree插件
Nov 12 Javascript
node.js中的fs.createReadStream方法使用说明
Dec 17 Javascript
理解javascript中的严格模式
Feb 01 Javascript
Node.js服务器环境下使用Mock.js拦截AJAX请求的教程
May 23 Javascript
利用jQuery对无序列表排序的简单方法
Oct 16 Javascript
JS实现经典的中国地区三级联动下拉菜单功能实例【测试可用】
Jun 06 Javascript
JS获取并处理php数组的方法实例分析
Sep 04 Javascript
轻松解决JavaScript定时器越走越快的问题
May 13 Javascript
使用vue实现一个电子签名组件的示例代码
Jan 06 Javascript
vue-quill-editor 自定义工具栏和自定义图片上传路径操作
Aug 03 Javascript
js利用与或运算符优先级实现if else条件判断表达式
Apr 15 #Javascript
JS下高效拼装字符串的几种方法比较与测试代码
Apr 15 #Javascript
js 兼容多浏览器的回车和鼠标焦点事件代码(IE6/7/8,firefox,chrome)
Apr 14 #Javascript
JavaScript 保存数组到Cookie的代码
Apr 14 #Javascript
轻轻松松学JS调试(不下载任何工具)
Apr 14 #Javascript
jQuery EasyUI 中文API Button使用实例
Apr 14 #Javascript
ImageZoom 图片放大镜效果(多功能扩展篇)
Apr 14 #Javascript
You might like
解析curl提交GET,POST,Cookie的简单方法
2013/06/29 PHP
Yii2.0实现的批量更新及批量插入功能示例
2019/01/29 PHP
Laravel 实现Eloquent模型分组查询并返回每个分组的数量 groupBy()
2019/10/23 PHP
php使用gearman进行任务分发操作实例详解
2020/02/26 PHP
在新窗口打开超链接的方法小结
2013/04/14 Javascript
js动态设置div的值下例子
2013/10/29 Javascript
屏蔽IE弹出"您查看的网页正在试图关闭窗口,是否关闭此窗口"的方法
2013/12/31 Javascript
基于javascript、ajax、memcache和PHP实现的简易在线聊天室
2015/02/03 Javascript
浅谈JavaScript的全局变量与局部变量
2016/06/10 Javascript
浅谈angularJS的$watch失效问题的解决方案
2017/08/11 Javascript
详解Vue webapp项目通过HBulider打包原生APP
2018/06/29 Javascript
vue实现一个炫酷的日历组件
2018/10/08 Javascript
Node.js对MongoDB进行增删改查操作的实例代码
2019/04/18 Javascript
简单了解小程序+node梳理登陆流程
2019/06/24 Javascript
python 获取list特定元素下标的实例讲解
2018/04/09 Python
python数据批量写入ScrolledText的优化方法
2018/10/11 Python
使用Pandas对数据进行筛选和排序的实现
2019/07/29 Python
详解在python操作数据库中游标的使用方法
2019/11/12 Python
使用python 计算百分位数实现数据分箱代码
2020/03/03 Python
python3检查字典传入函数键是否齐全的实例
2020/06/05 Python
如何利用python之wxpy模块玩转微信
2020/08/17 Python
python try...finally...的实现方法
2020/11/25 Python
Python脚本调试工具安装过程
2021/01/11 Python
印度尼西亚值得信赖的第一家网店:Bhinneka
2018/07/16 全球购物
澳大利亚香水在线商店:City Perfume
2020/09/02 全球购物
.TTL是什么?有什么用处,通常那些工具会用到它?(ping? traceroute? ifconfig? netstat?)
2016/05/09 面试题
物业管理专业个人的自我评价
2013/11/19 职场文书
《奇妙的国际互联网》 教学反思
2014/02/25 职场文书
激励员工的口号
2014/06/16 职场文书
学生检讨书
2015/01/27 职场文书
茶楼服务员岗位职责
2015/02/09 职场文书
《圆的面积》教学反思
2016/02/19 职场文书
Golang 正则匹配效率详解
2021/04/25 Golang
nginx常用配置conf的示例代码详解
2022/03/21 Servers
人工智能深度学习OpenAI baselines的使用方法
2022/05/20 Python
win10如何快速切换窗口 win10切换窗口快捷键分享
2022/07/23 数码科技