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似乎是更好的决定。 举个YUI实际的小例子: 在html中加入<input type="botton" id="readygo" value="测试YUI"> YUI().use('event', function (Y) { // Event is available and ready for use. Add implementation // code here. var button = Y.one("#readygo"); // Step 2. Subscribe to its click event with a callback function button.on("click", function (e) { console.log(123); //当点击按钮的时候这里就会打印123 }); });