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 选择器来访问和操作 ...
随机推荐
- 添加Access-Control-Allow-Origin主机头, 授权资源跨站访问
时间 2014-09-24 22:02:48 All by Neil 原文 https://blog.byneil.com/添加access-control-allow-origin主机头-授权资 ...
- c#基础学习(0701)之一些简单的方法练习
一个简单的求数组最大值的方法 //可变参数 int max=GetMaxNumbers(101,30) static int GetMaxNumbers(params int[] pms) { ]; ...
- 从mysql中dump数据到本地
方法一:使用mysqldump命令,如: mysqldump -h10.90.6.237 -uf_insplat2car_r -P3306 -pxxxxxxxxx nbmp tb_tag_log -- ...
- Linux的虚拟内存管理-如何分配和释放内存,以提高服务器在高并发情况下的性能,从而降低了系统的负载
Linux的虚拟内存管理有几个关键概念: Linux 虚拟地址空间如何分布?malloc和free是如何分配和释放内存?如何查看堆内内存的碎片情况?既然堆内内存brk和sbrk不能直接释放,为什么不全 ...
- 编译gRPC Go版本使用的 ProtoBuffer 文件
本篇文章主要解决mac下安装ProtoBuffer,编译go版本gRPC用的.proto文件 安装 protoc 注意,gRPC 需要用到 proto3, 而目前 Release 的版本是 2.6.1 ...
- JAVA虚拟机的生命周期
一个运行时的Java虚拟机实例的天职是:负责运行一个java程序.当启动一个Java程序时,一个虚拟机实例也就诞生了.当该程序关闭退出,这个虚拟机实例也就随之消亡.如果同一台计算机上同时运行三个Jav ...
- CSS字体无法设置成功的问题
在 CSS 中设置字体名称,直接写中文是可以的.但是在文件编码(GB2312.UTF-8 等)不匹配时会产生乱码的错误.xp 系统不支持 类似微软雅黑的中文. 方案一: 你可以使用英文来替代. 比如 ...
- p2p状态码
因为需要的确定状态太多,减少数据库的压力,采取二进制表示状态码 状态码工具类 package com.xmg.p2p.base.util; /** * 用户状态类,记录用户在平台使用系统中所有的状态. ...
- mvc里全局错误日志
第一步在项目中找到App_Start文件夹下建立一个错误日志过滤器. 第二步在Global.asax文件中注册下日志过滤器 第三步: 继承一个ExceptionFilterAtrribute 第四步: ...
- flutter Row里面元素居中显示
直接上代码: new Expanded( flex: , child: new Row( children: <Widget>[ Expanded( child: new Containe ...

