jQuery 和 YUI (Yahoo User Interface) 各自的优缺点有哪些?具体的使用场景是怎样的?
jQuery专注于DOM的操作,他通过继承的方式给传入的对象增加了新的方法,从而使我们可以通过链式调用来操作对象,这种方法上手简单,我看到很多设计师都可以玩上一玩。其实,就像jQuery说的,write less do more!
YUI是一个大型开发工具,他提供了一套javascript以及css的类库来为交互开发提供支持,我们可以看到YUI除了主打的js框架外,还有配套的压缩工具(YUI Compressor),文档生成工具(YUI Doc),单元测试工具(YUI Test)甚至开放了PHPLOADER(YUI PHP Loader ),再较大团队开发中,这些东西是非常重要的。
从编程语法上来说,诚如前面所说,jQuery专注于DOM操作,因此必不可免的弱化了OO,相比之下YUI则更加规范。
再如,jQuery中面向DOM的设计,决定了他可以通过$.extend()或者$(elem).extend()向对象或者节点增加新的方法,而YUI在这方面就异常的笨拙。
当然,这些并不能说明谁比谁好,YUI的颗粒化决定了他的维护成本低,可以称为刀,而jQuery锋利的刀刃决定了它使用方便,游刃有余,可以称为剑。
所以,刀剑相争?谁主沉浮?嗯,只有看你是令狐冲还是李寻欢了:)
对于我而言,YUI更像是类似MFC这样的重型框架,里面什么都有,API非常的标准化,适合构建各种管理系统的UI,非常方便,但速度相对比较慢。 jQuery就像是一个轻骑兵,轻量级,可扩展,经典的链式调用让你的程序逻辑非常的简介明了。
建议:
(1) 企业内部管理系统可以考虑使用YUI,可以很方便地创建各种类似桌面应用体验的服务;
(2) 对速度和流量要求比较高的网站,建议使用jQuery。

jQuery (不包括jQuery UI之类的增强及插件) 更多的好象一个基本的工具类,涵盖了DOM操作,Event绑定,基本动画,Ajax封闭,以及大量的工具方式,便利的语法结构。简单的插件机制。
YUI2的时候,似乎也做了同样的事,不过Yahoo的工程师更喜欢“重”的方式,规范的类结构,名字空间,Event, Dom的封闭,然后在这个基础上也进一步集成了许多UI的控件。
到了YUI3的时候,更清楚的底层结构,Sandboxing,让你可以容易的整合其他的Javascript Library。这个时候,YUI倒更象是一个框架而不是函数库(library)。
淘宝的Kissy框架 https://github.com/kissyteam/kissy, 或者WebQQ用到的Jet框架 http://code.google.com/p/j-et/ 都或多或少的受YUI3框架结构的启发,弱化,而建立一个供自己使用的更精巧的框架。(有时候自主框架的好处是快速的Fix以及灵活的面对你的项目需求,版本控制)。
所以我的最终的建议是,如果是快速的原型开发,或者小型, UI复杂度底的时候,选择jQuery。如果是需要有自己长期维护的UI较多的多页面的项目,选择 YUI似乎是更好的决定。
jQuery 和 YUI (Yahoo User Interface) 各自的优缺点有哪些?具体的使用场景是怎样的?的更多相关文章
- Jquery,YUI这个著名js库名称作用的理解
看廖雪峰大神的教程,其中讲到变量作用域问题.在命名空间中,写到:因为全局变量绑到了window上,不同的js文件访问相同全局变量或者定义了相同名字的顶层函数,都会造成命名冲突,并且很难被发现. 减少冲 ...
- Jquery day01
day01: 基础--选择器.属性和CSS.文档处理 day02: 高级--筛选.事件.效果.ajax jQuery介绍 JS类库 JavaScript 库封装了很多预定义的对象和实用函数.能帮助使用 ...
- 【简译】jQuery对象的奥秘:基础介绍
本文翻译自此文章 你有没有遇到过类似$(".cta").click(function(){})这样的JavaScript代码并且在想“$('#x')是什么”?如果这些对你想天书一样 ...
- ExtJs知识点概述
1.前言 ExtJS的前身是YUI(Yahoo User Interface).经过不断的发展与改进,ExtJS现在已经成功发布到了ExtJS 6版本,是一套目前最完整和最成熟的javascript基 ...
- JavaScript 框架比较
显著增强 JavaScript 开发的框架概览 Joe Lennon, 软件开发人员, 自由职业者 简介: 现代 Web 站点和 Web 应用程序倾向于依赖大量客户端 JavaScript 来提供丰富 ...
- best javascript framework list -- 最好的js框架
Javascript Framework List | Top Javascript Framework List | Best Javascript Framework List http://co ...
- Web开发——JavaScript基础
参考学习: MDN JavaScript:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript ECMAScript 6入门(阮一峰):htt ...
- 7个常见Javascript框架介绍
设计开发中的“框架”指一套包含工具.函数库.约定,以及尝试从常用任务中抽象出可以复用的通用模块,目标是使设计师和开发人员把重点放在任务项目所特有的方面,避免重复开发.通俗的讲,框架就是最常用的java ...
- js常用框架
JS常用框架:jQuery.Prototype.MooTools 参考:w3cshool jQuery jQuery 是目前最受欢迎的 JavaScript 框架. 它使用 CSS 选择器来访问和操作 ...
随机推荐
- 常常忘记但是很重要的sql语句
一.基础1.说明:创建数据库CREATE DATABASE database-name 2.说明:删除数据库drop database dbname3.说明:备份sql server--- 创建 备份 ...
- Spring boot --- Spring Oauth(三)
本节将学习 spring security oauth 实现单点登录 概述 首先我们来了解什么是单点登录.看下面两张图就明白了. 很明显,单点登录最重要解决的就是登录和注销的功能,今天的例子,可以用 ...
- FUzhou 1607 Greedy division---因子个数问题。
Problem 1607 Greedy division http://acm.fzu.edu.cn/problem.php?pid=1607 Accept: 402 Submit: 1463T ...
- PECL: configuration option "php_ini" is not set to php.ini location
message similar to: configuration option "php_ini" is not set to php.ini locationYou shoul ...
- LeetCode CombinationSum II
class Solution { public: vector<vector<int> > combinationSum2(vector<int> &num ...
- spring AOP 动态代理和静态代理以及事务
AOP(Aspect Oriented Programming),即面向切面编程 AOP技术,它利用一种称为"横切"的技术,剖解开封装的对象内部,并将那些影响了多个类的公共行为封装 ...
- 关于vue跨域名对接微信授权认证和APP授权认证
这种情况一般也只会出现在前后端分离,跨域名授权的时候吧.耗费了一个前端+一个后台+一个网关,熬夜通宵了两天才整出来一套方法(你们见过凌晨6点的杭州吗,对,我下班的时候天黑了,到家天亮了....),和开 ...
- excel导入 服务器忘了装组件了。。。
excel导入 本地没问题 一直在找权限问题 最后发现服务器忘了装组件了... 郁闷 记录下 http://www.microsoft.com/zh-cn/download/confirmation ...
- Android UI组件----用相对布局RelativeLayout做一个登陆界面
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/3 ...
- c# 多线程之-- System.Threading Timer的使用
作用:每隔多久去执行线程里的方法. class ThreadTimerDemo { static void Main(string[] args) { // Create an AutoResetEv ...