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 相关文章推荐
使用JQuery快速实现Tab的AJAX动态载入(实例讲解)
Dec 11 Javascript
JavaScript中reduce()方法的使用详解
Jun 09 Javascript
Bootstrap面板学习使用
Feb 09 Javascript
Boostrap栅格系统与自己额外定义的媒体查询的冲突问题
Feb 19 Javascript
利用canvas实现的加载动画效果实例代码
Jul 05 Javascript
使用JQ完成表格隔行换色的简单实例
Aug 25 Javascript
vue项目中v-model父子组件通信的实现详解
Dec 10 Javascript
使用sessionStorage解决vuex在页面刷新后数据被清除的问题
Apr 13 Javascript
微信小程序实现滑动切换自定义页码的方法分析
Dec 29 Javascript
jQuery实现可编辑的表格
Dec 11 jQuery
Vue data的数据响应式到底是如何实现的
Feb 11 Javascript
js简单粗暴的发布订阅示例代码
Jan 23 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
用PHP和ACCESS写聊天室(二)
2006/10/09 PHP
PHP大批量数据操作时临时调整内存与执行时间的方法
2011/04/20 PHP
Laravel 5.3 学习笔记之 错误&日志
2016/08/28 PHP
jQuery弹出层插件简化版代码下载
2008/10/16 Javascript
javascript 常用方法总结
2009/06/03 Javascript
html数组字符串拼接的最快方法
2009/09/16 Javascript
jQuery表单获取和失去焦点输入框提示效果的实例代码
2013/08/01 Javascript
js中opener与parent的区别详细解析
2014/01/14 Javascript
JQuery获取与设置HTML元素的内容或文本的实现代码
2014/06/20 Javascript
node.js中的fs.fchownSync方法使用说明
2014/12/16 Javascript
基于AngularJS实现页面滚动到底自动加载数据的功能
2015/10/16 Javascript
JavaScript使用DeviceOne开发实战(三)仿微信应用
2015/12/02 Javascript
使用jquery.qrcode.min.js实现中文转化二维码
2016/03/11 Javascript
JS制作图形验证码实现代码
2020/10/19 Javascript
jQuery的deferred对象使用详解
2016/09/25 Javascript
Vue.js第三天学习笔记(计算属性computed)
2016/12/01 Javascript
bootstrap-table组合表头的实现方法
2017/09/07 Javascript
ReactNative之FlatList的具体使用方法
2017/11/29 Javascript
nodejs实现大文件(在线视频)的读取
2020/10/16 NodeJs
angular动态表单制作
2018/02/23 Javascript
JavaScript解析JSON数据示例
2019/07/16 Javascript
Python 文件重命名工具代码
2009/07/26 Python
Python struct模块解析
2014/06/12 Python
python实现抖音视频批量下载
2018/06/20 Python
对Python3 * 和 ** 运算符详解
2019/02/16 Python
python 实现矩阵填充0的例子
2019/11/29 Python
pyqt5中动画的使用详解
2020/04/01 Python
python创建文本文件的简单方法
2020/08/30 Python
美国派对用品及装饰品网上商店:Shindigz
2016/07/30 全球购物
GEOX鞋美国官方网站:意大利会呼吸的鞋
2017/07/12 全球购物
中国一家专注拼团的社交购物网站:拼多多
2018/06/13 全球购物
美国厨房和园艺工具网上商店:Nestneed
2019/08/24 全球购物
《我的第一本书》教学反思
2014/02/15 职场文书
班级学雷锋活动总结
2014/06/26 职场文书
爱心捐款活动总结
2015/05/09 职场文书
介绍信应该怎么开?
2019/04/03 职场文书