19

我试图说服那些在我目前的组织中制定标准的人,我们应该使用 jQuery 而不是 Prototype 和/或 YUI。我可以用哪些令人信服的优势来说服他们?

4

18 回答 18

24

jQuery 的 3 个主要优点是:

  • 与其他 javascript 框架相比,它的重量很轻
  • 它有广泛的插件可用于各种特定需求
  • 设计人员更容易学习 jQuery,因为它使用熟悉的 CSS 语法。jQuery 是 面向设计师的 Javascript
于 2008-09-15T21:20:11.107 回答
14

我会说我使用 JQuery 的主要原因是:

  • 大型开发社区和许多插件。
  • 它在微软的雷达上,他们正在添加一些插件支持和调试功能。
  • 非常好的第 3 方库文档。
  • 轻的。
  • 链接功能非常强大。
于 2008-09-15T21:43:44.233 回答
6

这是您能找到的最深思熟虑的语言——它几乎是直观的。

想要元素的宽度?

$('#something').width();

想要抓取一个元素,隐藏它,改变它的背景颜色并淡入淡出?

$('#something').hide().css('background', 'red').fadeIn();

IE 的表条带化怎么样(假设hover定义了类)?

$('table tr').hover(function() {
  $(this).addClass('hover');
});

像这样快速、无脑的工作确实有助于销售 jQuery。

于 2008-09-16T14:14:49.793 回答
6

这是比上面提供的更新的速度测试。上次我运行它时,dojo 是最快的,其次是 jQuery、Mootools、Prototype,最后是 YUI。请注意,我在 Firefox 3 中运行它,不同浏览器的速度不同,因此请自行测试。

流畅的速度测试

于 2008-09-16T20:23:27.287 回答
6

在我看来,曾短暂尝试过 Prototype,然后又尝试并爱上了 jQuery:jQuery API 感觉更加干净且经过深思熟虑。jQuery 的创建者/架构师 John Resig 非常了解他的东西,并且在 jQuery 的设计以及他参与的各种其他令人印象深刻的 JavaScript 项目中都体现了这一点。

查询和可链接性的整个概念非常适合 DOM 操作,这似乎是人们使用 JS 库的主要目的。在线文档很棒。性能似乎也非常好。鉴于它的功能,整个库适合一个相对较小的包。插件架构也非常适合可扩展性。

老实说,我还没有尝试过 YUI,所以我不能对此发表太多评论。我确实知道它总体上是一个相当庞大的库,尽管您可以选择仅下载/使用它的特定模块。

于 2008-09-15T21:26:15.867 回答
4
  1. 它非常小,尤其是在缩小时,并且在核心库中提供了很多功能。

  2. 它也很容易扩展,并且有一个活跃的社区。

  3. 最后,它非常容易学习;一旦掌握了核心概念,您就可以立即开始编写复杂的解决方案。
于 2008-09-15T21:43:43.420 回答
4

一个赞成的论点是这样的:

流行性+可扩展性

1) 如果有人需要用 JavaScript 做 X,那可能是用 jQuery 做的
2) 如果做了很多,可能有一个插件,如果不是原生支持的话

如果它真的很独特,那么有很多人会在 SO 或其他地方回答您的问题。

于 2008-09-15T21:51:11.453 回答
4

jQuery 的一个优势是开发了大量插件的大型社区。

于 2008-09-15T21:19:52.683 回答
3

您可以点击此链接了解更多关于 jQuery、为什么要使用它以及它的优点是什么。

于 2010-07-29T00:44:52.923 回答
2

出色地...

首先你应该考虑一下为什么你认为 jQuery 很好,但你不知道用什么论据来说服别人。也许你应该先说服自己。;)

无论如何,jQuery 只是另一个框架。你应该使用它最擅长的。如果您打算将它仅用于基本的 DOM 处理,请忘记它!学习如何正确使用js,你会没事的!

考虑这个 HTML:

<body>
<div style="width: 400px; height: 400px; background-color: red">
<div style="width: 400px; height: 400px; background-color: red">
</div>

<script type="text/javascript">

function test1 (){
document.body.innerHTML = ""

var div = document.createElement("div");

document.body.appendChild(div);

$(div).width("400px").height("400px").css("background-color", "red");
}    

function test2 (){
document.body.innerHTML = ""

var div = document.createElement("div");

document.body.appendChild(div);

$(div).width("400px");
$(div).height("400px");
$(div).css("background-color", "red");
}

function test3 (){
document.body.innerHTML = ""

var div = document.createElement("div");

document.body.appendChild(div);

div.style.width = "400px";
div.style.height= "400px";
div.style.backgroundColor = "red";
}

function test4 (){
    document.body.innerHTML = ""

    var div = document.createElement("div");

    document.body.appendChild(div);

    div.setAttribute("style", "width: 400px; height: 400px; background-color: red");
}

</script>
</body>

将其放入带有 jquery 的 hml 文件中<head>

然后,打开 firebug 并运行以下代码:console.profile(); 测试1();控制台.profileEnd();

console.profile();
test2();
console.profileEnd();

console.profile();
test3();
console.profileEnd();

console.profile();
test4();
console.profileEnd();

看看你自己的结果!

但是,如果您想对 DOM 进行一些复杂的操作,这需要您进行多次循环或找出 DOM 上的元素是否符合某些条件,您可以考虑使用 jQuery,因为它会为您实现此过程。

无论如何,请记住,没有什么比使用您在代码中保留的引用来控制 DOM 更好的了。它的速度更快,对其他人来说更具可读性。谷歌“js 最佳实践”。

我将 jQuery 用于复杂的事情,这将花费我太长时间来实现,并且最终会得到类似于 jQuery 代码的东西。在这种情况下,使用它是有意义的!

玩得开心!

于 2011-11-28T12:50:53.087 回答
2

根据经验,每个人都有自己的优势和劣势,因为它们在您的应用程序中扮演着非常具体的角色。做出全球决定可能不是最合适的方法。制定手头的具体任务并分析性能、膨胀、经验等,然后做出具体的决定/建议。

于 2011-04-12T15:37:22.293 回答
1

也许你不应该?这完全取决于您正在构建的应用程序类型。如果您正在构建 GUI 密集型应用程序,例如 Yahoo! 邮件,那么也许你应该考虑在 jquery 上使用 YUI 或 Mootools。就我个人而言,我是 jQuery 的忠实粉丝,但它绝对是为原本大部分是静态的 UI 添加一点交互的最佳选择。另一方面,如果这是您将使用它的目的,那么 jquery 会简单得多,语法更好,并且有很大的动力。

于 2008-09-15T21:36:31.037 回答
1

我是一个原型人,但我用过一点 jQuery。老实说,两者之间没有太多可以用作“卖点”的地方。另一方面,YUI 相当臃肿。我永远不会在任何商业级应用程序上使用它。

我发现这个页面讨论了这个确切的主题。

于 2008-09-15T21:23:31.193 回答
1

Jquery 已经存在了几年,所以就像其他人所说的那样,它有一个深厚的社区、大量的插件和良好的支持。对我来说把它放在一边的是它很容易学习。

http://visualjquery.com/1.1.2.html

于 2008-09-16T00:55:25.787 回答
1

它有一套很好的插件,编码风格不显眼,这意味着它不太难替换。Ruby on Rails 助手也有一个很好的替代品,称为 jRails。

在性能方面,它们都非常接近:http : //www.kenzomedia.com/speedtest/ 但是,MooTools、dojo、ext 和 Prototype 在我的环境中都运行得更快。

我的问题是 - 你为什么要使用它?只是因为你更了解它吗?

于 2008-09-15T22:13:46.593 回答
1

我已经使用 jQuery 几个月了,发现它是一种愉快的体验。该框架清晰简洁,它具有出色的插件架构并且得到很好的支持,但是框架是非常个人化的东西,您可能应该尝试一些通常不会花费很长时间来找到最适合您的框架。

不确定这对您是否重要,但 Microsoft 最近宣布在 VS 2008 的下一次更新中支持 jQuery这是博客文章

您可以听到 jQuery 背后的人 John Resig 在最近的Boagworld 播客中谈论它和其他各种框架。它可能会帮助您下定决心,这是一个非常平衡的部分。

于 2008-10-30T23:41:25.103 回答
0

为什么不创建一个快速比较?

执行一项任务,例如“查找所有包含 foo 类图像的 div 或表格,并为每个 div 附加一个点击事件,使它们扩大 50%。” 或者与您正在做的事情更相关的事情。

然后使用 jQuery、Prototype 等对其进行编码并进行比较。哪个更短?更容易阅读?跑得更快?(您可以在此处找到速度比较。)

于 2008-09-15T21:48:04.863 回答
0

如果您试图从商业角度说服人们,微软最近决定将 jQuery 与 Visual Studio 一起发布可能有助于建立一些额外的可信度。再说一次,这可能会损害您的事业,具体取决于他们对 Microsoft 的看法。

于 2008-10-30T19:31:55.450 回答