JavaScript库 - 并排比较

时间:2008-11-21 00:46:55

标签: jquery frameworks comparison

Microsoft recently announced他们认可jQuery作为“官方”支持的JavaScript库。

我当然不会认为jQuery是一个很棒的框架。事实上,我刚买了the book。但我很想知道原因。

具体来说,我很想知道我们的Web开发人员是否可以期望jQuery成为现有的JavaScript框架,或者它是否像其他任何开发工具一样提供差异点。采用jQuery与Mootools或Prototype相比有什么优点?我可以期待一场类似于浏览器战争的“JavaScript库”战争,因为各个框架为了市场主导地位而相互争斗,还是有更好的框架来应用于特定问题?

我意识到,就像在发展世界中的任何事物一样,会有一些人对他们喜欢的图书馆抱有宗教狂热,所以请:在回答这个话题时彼此玩得很好。

6 个答案:

答案 0 :(得分:3)

至于为什么MS支持jQuery,可能最好问ScottGu。

似乎jQuery正成为许多人选择的js锤子,而且发生的越多,其他图书馆的爱情就越少。

就我个人而言,我发现它具有良好的功能平衡,并且允许我以最少量的大惊小怪完成大部分工作,并且像开发的任何其他方面一样,坚持使用您所知道的更容易和更便宜如果那样的话。

对于需要非常光滑的动画的东西,我曾经发现mootools有点平滑,但至少8个月以来我不得不用那么多眼睛糖果做任何事情,所以我的测试可能已经过时了。

对于ajax widget fest,dojo或yui或extJS可能会提供更多功能,但代价是库大小和复杂性。

所以,对不起,如果这有点模糊,但就像其他任何东西都归结为什么是适合工作的工具,作为一个通用工具,jQuery通常会为我赢得,但它在很大程度上取决于工作。

答案 1 :(得分:1)

[深层主观气息]

  • 我最近几次与dojo一起工作,团队发现它在某些地方非常沉重,缓慢,有缺陷(当时iirc中的$函数有一个模糊的故障),而且它是bootstrapping实际上使它在使用中非常糟糕。它在工程术语中有很多喜欢,并且它很容易扩展小部件,虽然我实际上不喜欢它的小部件实现再次膨胀和一些弱OO。最终,我最近选择避免它。

  • mootools动画给我留下了深刻的印象,它远远超过其他任何东西,但此时它已经过了几个月,因为我亲自使用它,我从来没有发现图书馆的其余部分是多少对我有用。

  • jQuery我发现非常过分夸张,但它确实看起来优于dojo作为一个框架,但同样存在深层次的缺陷iirc。它有相当数量的扩展,但不是小部件/组件,它会干净地降级。

  • 无论如何,GWT是利基,我完全不相信它。基本上,我拒绝谷歌的自动化软件可以写出比我更好的js的假设:)

虽然很干净,但我是一个傲慢的草皮,我已经做了一段时间,所以我不得不说除了动画之外的任何东西(太多的数学,没有足够的时间,只是使用mootools)我是使用我自己的代码。 AJAX并不那么难。我更喜欢并相信我的基于CSS / Xpath的$ esque选择器。我在适合我的设计方法中有一个更清晰的组件/小部件实现。最终,我有绝对的控制权。

我建议jquery / mootools(甚至是yui)为新的首发和团队提供标准知识。对于从事长期项目或具有权限和时间与技能的任何人来说,我推荐自己动手,并在你看到它们时大肆窃取好的想法。 :)

答案 2 :(得分:0)

强化Sean所说的,似乎有更多高质量,随时可用的jQuery库,而不是其他JS框架。这也是推动更多开发人员参与其中的一个因素。

答案 3 :(得分:0)

对我来说,社区支持使jQuery成为一个不错的选择,但正如上面已经提到的,如果你确实需要一个围绕ui-widgets构建的网站,我就不会使用jQuery(还)。 jQuery-ui框架还处于起步阶段,与yui和extjs相比,它将迎头赶上,但需要时间。但是我相信95%的Web应用程序需求都符合jQuery。它配备了一个伟大的选择器引擎,也很好的dom操纵/ ajax和简单的效果。所有这些加上其库大小,插件可用性,易用性和支持使其成为一个强大的选择。 MS决定发布jQuery只会增强其在社区中的噪音并增加ui框架的进展。

答案 4 :(得分:0)

我个人认为,jQuery受欢迎的真正原因在于它比其他成熟的框架更具侵入性。您不需要在JavaScript中完成整个应用程序(就像ExtJS一样),也不需要像YUI一样处理整个框架。

请不要误解我的意思:我认为ExtJS和YUI都是很棒的库 - 对于那些带有插件的jQuery很适合的小项目来说,它们只是很胖。

答案 5 :(得分:0)

另一个值得关注的图书馆是extjs(现在Sencha)。他们有最好的小部件imho。