jQuery比其他JavaScript库有什么优势?

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

jQuery的3个主要优点是:

  • 与其他javascript框架相比,它重量轻
  • 它有各种各样的插件可用于各种特定需求
  • 设计师更容易学习jQuery,因为它使用熟悉的CSS语法。 jQuery是设计师的Javascript

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

  • 大型开发社区和许多插件。
  • 这是微软的关注点,他们正在增加一些插件支持和调试function。
  • 非常好的第三方库文档。
  • 轻巧。
  • 链接function非常强大。

在我看来,曾经简单地尝试过Prototype,然后尝试并喜欢jQuery:jQuery API感觉更清洁,深思熟虑。 jQuery的创建者/架构师John Resig非常了解他的东西,它在jQuery的设计中展示,以及他参与过的各种其他令人印象深刻的JavaScript项目。

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

我老实说没有尝试YUI,所以我不能对此发表评论。 我知道它总共是一个相当庞大的库,但你可以选择只下载/使用它的特定模块。

这是一个比上面提供的更新的速度测试。 上次我运行它的时候是最快的,然后是jQuery,Mootools,Prototype,最后是YUI。 注意我在Firefox 3中运行它,浏览器的速度也不同,所以请自己测试一下。

光滑速度测试

这是你会发现的最精心设计的语言 – 它几乎是直观的。

想要一个元素的宽度?

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

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

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

如何为IE表条带化(假设定义了hover类)?

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

像这样的快速,无意识的工作真的有助于销售jQuery。

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

  1. 它非常小,特别是在缩小时,并且在核心库中提供了很多。

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

  3. 最后,它非常容易学习; 一旦掌握了核心概念,就可以立即开始编写复杂的解决方案。

赞成的一个论点是:

人气+可扩展性

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

如果它真的很独特,有很多人可以在SO或其他地方回答你的问题。

您可以通过此链接了解有关jQuery的更多信息,使用它的原因以及它的优点是什么。

根据经验,每个都有自己的优点和缺点,在您的应用程序中具有非常特定的作用。 做出全球决定可能不是最合适的方法。 开展手头的具体任务,分析绩效,膨胀,经验等,然后做出具体的决定/建议。

好…

首先,你应该考虑为什么你认为jQuery是好的,但你不知道用什么参数来说服另一个人。 也许你应该首先说服自己。 ;)

无论如何,jQuery只是另一个框架。 你应该用它最擅长的。 如果你只是为了基本的DOM处理而使用它,那就算了吧! 学习如何正确使用js,你会没事的!

考虑这个HTML:

  

将它放在hml文件中,并在提供jquery

然后,打开firebug并运行以下代码:console.profile(); TEST1(); console.profileEnd();

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

看你自己的结果!

但是如果你想在DOM上进行一些复杂的操作,需要你做几个循环或者发现DOM上的元素符合某些标准,你可以考虑使用jQuery,因为它会为你实现这个过程。

无论如何,请记住,没有比使用您保存在代码中的引用来控制DOM更好的了。 它更快,更易读。 谷歌“js最佳实践”。

我使用jQuery来处理复杂的事情,它需要我很长时间才能实现,最终会得到类似jQuery代码的东西。 在这种情况下,使用它是有道理的!

玩得开心!

我是Prototype的人,但我已经使用过jQuery了。 老实说,我不认为两者之间可以作为“卖点”使用。 另一方面,YUI非常臃肿。 我永远不会在任何商业级应用程序上使用它。

我发现这个页面谈到了这个确切的主题。

也许你不应该? 这完全取决于您正在构建的应用程序类型。 如果您正在构建GUI密集型应用程序,比如Yahoo! 邮件,那么也许你应该考虑使用YUI或Mootools而不是jquery。 就个人而言,我是一个巨大的jQuery粉丝,但它绝对是最好的添加一个交互的大多数静态UI。 另一方面,如果你正在使用它,那么jquery更简单,语法更好,而且它有很大的动力。

它有一套很好的插件,编码风格不引人注目,这意味着它不会太难替换。 还有一个很好的替代Ruby on Rails助手,称为jRails。

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

我的问题是 – 你为什么要用它? 是因为你知道的更好吗?

Jquery已经存在了几年,所以像其他人一样,它有一个很深的社区,很多插件和不错的支持。 对我来说不谈的是它很容易学习。

见http://visualjquery.com/1.1.2.html

我已经使用jQuery几个月了,并发现它是一种愉快的体验。 框架清晰简洁,它有一个很棒的插件架构,并得到很好的支持,但框架是一个非常私人的东西,你可能应该尝试一些通常不需要很长时间才能找到最适合你的那个。

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

你可以听到jQuery背后的John Resig,在最近的Boagworld播客上讨论它的各种其他框架。 它可能会帮助你下定决心。

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

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

然后使用jQuery,Prototype等进行编码,并进行比较。 哪个更短? 更容易阅读? 跑得快? (你可以在这里找到速度比较。)

如果你试图从业务角度说服人们,微软最近决定用Visual Studio发布jQuery可能有助于建立一些额外的可信度。 然后,这可能会伤害你的事业,这取决于他们对微软的看法。