【发布时间】:2012-02-16 07:53:49
【问题描述】:
据我所知,jQuery 基本上是一个用于 DOM 操作的框架,它是一个比原生 javascript 更高的抽象层。 YUI(雅虎 UI)库是一个用户界面小部件库,为开发人员提供了一种忘记 DOM 操作并更多地处理业务逻辑的方法。
对吗?
我的问题:包含这两个库是否存在严重的性能问题? YUI 与 jQuery UI 相比如何?
【问题讨论】:
标签: javascript jquery yui
据我所知,jQuery 基本上是一个用于 DOM 操作的框架,它是一个比原生 javascript 更高的抽象层。 YUI(雅虎 UI)库是一个用户界面小部件库,为开发人员提供了一种忘记 DOM 操作并更多地处理业务逻辑的方法。
对吗?
我的问题:包含这两个库是否存在严重的性能问题? YUI 与 jQuery UI 相比如何?
【问题讨论】:
标签: javascript jquery yui
jQuery
$ DOM 选择功能强大,而且工作起来很神奇。
jQuery 代码通常非常简洁;辅助函数存在于 任何琐碎的事情(甚至是不平凡的事情)。
插件库内容丰富,功能快捷。
jQuery 非常适合小型网站,而且对于新网站来说很容易上手 users ,这就是它拥有如此庞大社区的原因。
立竿见影,学习曲线更短。
YUI
很棒的文档和示例,以及来自 Yahoo 的支持 技术讲座和频繁更新。
用 YUI 编写的代码往往是有组织的。有时甚至觉得 Java 风格的。 除了 DOM 操作之外,还有一组丰富的模块 - cookie、缓存、历史记录、i18n 等。
特别是通过画廊,YUI 对外部更加开放 贡献
YUI 专业 YUI3 至少需要基本的语言技能, 如果你真的想很好地利用它并扩展它,还有更多。
YUI 更适合组织良好、可重复使用的模块化代码。
要了解 YUI 的功能,您可以访问 here 获取 YUI2 的示例,以及访问 here 获取 YUI3 画廊(IMO 有点类似于 JQuery 插件)。
你可以参考这个site来比较YUI和jquery的速度。
IMO JQuery 是一个库,YUI 是一个框架而不是一个库。 JQuery 适用于您希望在相对较短的时间内实现“WOW”因素的小型网站。但是当您构建应用程序时,您需要一个健壮的框架,您可以在其中集成您自己的代码 yui 是更好的选择。
【讨论】:
更新
YUI 框架已于 2014 年 8 月弃用
我会把它留给 jquery 专业人士来拼出最好的比较点,但是我在大大小小的项目中都使用 YUI。 YUI 是结构化的,因此您只需要包含您需要的模块化功能,直至最细粒度的级别,包括将您的依赖项全部回滚到正确的包中的能力。
YUI 非常适合 DOM 操作、io、小部件,真正的作品。使用 YUI3,如果你找到你想要/需要的 YUI2 小部件,它们有“YUI2-in-3”。
此外,YUI 的核心贡献者之一(可能更多)Dav Glass 在服务器上获取 YUI3 方面做了一些很棒的工作 - 所以你基本上有相同的框架来做后端的繁重工作,并且相同的依赖项做前端魔法。
YUI 的种子包含系统也很容易上手,示例代码:
<script src="http://yui.yahooapis.com/3.4.1/build/yui/yui-min.js"></script>
<script type="text/javascript">
YUI().use(['node','io'], function (Y) {
// node and io are ready now, do whatever you like. Need custom events, gesture support or animation? Add them to the array above.
});
</script>
这是我的 YUI 案例,玩得开心 :)
另外,我在几个项目中同时包含了 jquery 和 YUI……我没有发现任何有害的东西,但是有了更多的 YUI 经验,我不需要再这样做了。
【讨论】:
不要同时使用这两个库,您的页面加载速度会变慢 :)
jQuery 主要用于 DOM 操作和 AJAX,适用于网页/网站。 YUI 更像是一个框架,可以很好地与 Web 应用程序配合使用。虽然有一些交叉; YUI 可以轻松地用于较小的琐碎网站,而 jQuery 可用于创建大型 Web 应用程序(尽管通常它与 Backbone 或 JavaScriptMVC 等其他东西结合使用以更好地组织代码)
如果一个不能满足你的所有需要,换一个
【讨论】: