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 相关文章推荐
javascript 放大镜效果js组件 qsoft.PopBigImage.v0.35 加入了chrome支持
Apr 07 Javascript
js的[defer]和[async]属性
Nov 24 Javascript
JavaScript判断字符长度、数字、Email、电话等常用判断函数分享
Apr 01 Javascript
bootstrap fileinput 上传插件的基础使用
Feb 17 Javascript
详解Node.js 命令行程序开发教程
Jun 07 Javascript
vue2.0中vue-cli实现全选、单选计算总价格的实例代码
Jul 18 Javascript
vue-cli中的webpack配置详解
Sep 25 Javascript
javascript实现遮罩层动态效果实例
May 14 Javascript
微信小程序上传文件到阿里OSS教程
May 20 Javascript
在layui框架中select下拉框监听更改事件的例子
Sep 20 Javascript
详解vuejs中执行npm run dev出现页面cannot GET/问题
Apr 26 Javascript
vue element table中自定义一些input的验证操作
Jul 18 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 调试利器debug_print_backtrace()
2012/07/23 PHP
php获取四位字母和数字的随机数的实现方法
2015/01/09 PHP
php无限分类使用concat如何实现
2015/11/05 PHP
PHP简单实现循环链表功能示例
2017/11/10 PHP
Windows下wamp php单元测试工具PHPUnit安装及生成日志文件配置方法
2018/05/28 PHP
js open() 与showModalDialog()方法使用介绍
2013/09/10 Javascript
javascript使用location.search的示例
2013/11/05 Javascript
jQuery获得内容和属性示例代码
2014/01/16 Javascript
jQuery中toggleClass()方法用法实例
2015/01/05 Javascript
浅谈JS运算符&&和|| 及其优先级
2016/08/10 Javascript
解决layui动态加载复选框无法选中的问题
2019/09/20 Javascript
Python面向对象编程中的类和对象学习教程
2015/03/30 Python
Python探索之爬取电商售卖信息代码示例
2017/10/27 Python
Python3 循环语句(for、while、break、range等)
2017/11/20 Python
10个Python小技巧你值得拥有
2018/09/29 Python
python2.7实现邮件发送功能
2018/12/12 Python
python 读取鼠标点击坐标的实例
2018/12/29 Python
python Tkinter的图片刷新实例
2019/06/14 Python
django创建超级用户过程解析
2019/09/18 Python
分享一枚pycharm激活码适用所有pycharm版本我的pycharm2020.2.3激活成功
2020/11/20 Python
巧用CSS3的calc()宽度计算做响应模式布局的方法
2018/03/22 HTML / CSS
一站式跨境收款解决方案:Payoneer(派安盈)
2018/09/06 全球购物
网站设计师的岗位职责
2013/11/21 职场文书
化工专业大学生职业生涯规划书
2014/01/14 职场文书
新闻学专业大学生职业生涯规划范文
2014/03/02 职场文书
应用外语系自荐信
2014/06/26 职场文书
合作协议书模板2014
2014/09/26 职场文书
银行竞聘报告范文
2014/11/06 职场文书
2014年财务科工作总结
2014/11/11 职场文书
学校端午节活动总结
2015/02/11 职场文书
MybatisPlus代码生成器的使用方法详解
2021/06/13 Java/Android
Python torch.flatten()函数案例详解
2021/08/30 Python
如何利用 CSS Overview 面板重构优化你的网站
2021/10/24 HTML / CSS
Java8 Stream API 提供了一种高效且易于使用的处理数据的方式
2022/04/13 Java/Android
Win11右下角图标点了没反应怎么办?Win11点击右下角图标无反应解决方法汇总
2022/07/07 数码科技
python读取mat文件生成h5文件的实现
2022/07/15 Python