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。
施宏,Javascript CoderjQuery (不包括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 选择器来访问和操作 ...
随机推荐
- 19、网络编程 (Socket套接字编程)
网络模型 *A:网络模型 TCP/IP协议中的四层分别是应用层.传输层.网络层和链路层,每层分别负责不同的通信功能,接下来针对这四层进行详细地讲解. 链路层:链路层是用于定义物理传输通道,通常是对某些 ...
- 使用AJAX实现分页
Fenye.html <!DOCTYPE html> <html> <head> <title>分页</title> </head&g ...
- Pwn with File结构体之利用 vtable 进行 ROP
前言 本文以 0x00 CTF 2017 的 babyheap 为例介绍下通过修改 vtable 进行 rop 的操作 (:-_- 漏洞分析 首先查看一下程序开启的安全措施 18:07 haclh@u ...
- Android 时间轴的实现
时间轴 时间轴,顾名思义就是将发生的事件按照时间顺序罗列起来,给用户带来一种更加直观的体验.京东和淘宝的物流顺序就是一个时间轴(如图),想必大家都不陌生. 时间轴的初探 初次见到这种UI,感觉整个布局 ...
- alter system register的用法
转自 http://blog.csdn.net/njyxfw/article/details/7516143 今天一个同事问到我,有没动态注册监听的命令,查了下,找到了alter system reg ...
- 关于wp-autopost不能连续采集的问题,这里有解决方案
经常采集一页两页就停下来了 完整的解决方案如下: php.ini 中 max_execution_time = 0 的设置只针对PHP本身起作用php-fpm 模式下 需要修改的参数是 php-fpm ...
- leveldb源码分析--Key结构
[注]本文参考了sparkliang的专栏的Leveldb源码分析--3并进行了一定的重组和排版 经过上一篇文章的分析我们队leveldb的插入流程有了一定的认识,而该文设计最多的又是Batch的概念 ...
- java笔记--守护线程的应用
守护线程的应用 Java中的线程可以分为两类,即用户线程和守护线程.用户线程是为了完成任务,而守护线程是为其他线程服务 --如果朋友您想转载本文章请注明转载地址"http://www.cnb ...
- Oracle EBS AR 事务处理到期余额总计API
declare -- Local variables here i integer; x_line_original NUMBER; x_line_remaining NUMBER; ...
- [SQLServer] 内存占用查看
SELECT (physical_memory_in_use_kb/1024) AS Memory_usedby_Sqlserver_MB, (locked_page_allocations_kb/1 ...

