MooTools和JQuery并排

ZZ *_*der 11 javascript jquery mootools

我刚刚继承了一些使用MooTools的网页.我从未使用过MooTools.现在我需要在页面上添加一些函数,我想知道在同一页面上使用jquery和mooTools是个好主意吗?

基本上,我有3个选项,

  1. 将页面转换为JQuery,我必须学习MooTools才能做到这一点.
  2. 在MooTools中编写新功能.我必须学习更多的MooTools才能实现这一目标.
  3. 在页面上使用两者.

您的意见将不胜感激.

rba*_*all 46

意见:学习MooTools,然后继续学习.听起来像学习新事物的好机会.如果你不需要,为什么要引入一个带有附加js膨胀的全新库.如果它能解决问题你就是金色的.

  • 你可以用JS膨胀来玷污这个项目,也可以学习MooTools.无论如何,MooTools很有趣. (5认同)

Cru*_*han 16

MooTools是一个完全可靠且可接受的Javascript库,我建议您将其添加到已知技术列表中,而不是将其删除并替换为JQuery.混合这两者并不是一个好主意,因为您可能会遇到难以调试的难以调试的冲突.

JQuery最近有了所有的新闻,但它并没有削减和干涸,它击败了其他所有图书馆.离得很远.您甚至可能会发现您更喜欢MooTools :-)

补充:值得我个人经验的是,MooTools似乎与jQuery相比更好地与其他javascript代码一起发挥.我一直在处理几个已经混合了MooTools的网站,其中包含各种其他Javascript的不同效果/功能,它们似乎与最小的问题一起发挥.使用jQuery的OTOH页面倾向于使用jQuery版本的所有内容.YMMV当然.

  • 评论我自己的答案,虽然我认为09年10月的情况确实如此,jQuery的持续快速发展以及它在过去18个月中作为标准库的广泛接受现在已经取得了平衡,我更倾向于根据项目的规模进行重写.但在任何情况下我都不会同时使用它们. (4认同)

S P*_*orn 7

就个人而言,我建议不要同时使用两者,因为有一些奇怪的冲突,即使是jQuery.noConflict().和其中一个一起去.

如果你最终使用两者,请务必使用jQuery.noConflict()以确保使用$不冲突.

将jQuery与其他库一起使用


Dim*_*off 7

我会说,取决于代码的结构以及您需要做什么.mootools确实使自己易于重构和扩展(毕竟,这部分是它存在的原因)但是需要一段时间来计算最佳实践等等.

然而,你从vanilla javascript或jquery学习的曲线不会太陡峭,特别是如果你关心的是DOM的人为因素,事件处理和效果.当你决定编写/扩展mootools类并冒险进行原型设计时,事情变得更有趣 - 但你可能不必这样做......

对于大多数事情都有一些非常好的教程,以及通过jquery和mootools(等效的)做一些演示.http://jqueryvsmootools.com/是关于如何通过任何一个完成相同任务的一个很好的例子,我建议在决定之前阅读它.

无论你决定什么,使用两个框架不好的做法(当你没有框架时).


Joe*_*orn 6

这取决于转换为jQuery的项目有多大,维护这些页面的工作量(与已经使用jQuery的其他页面相比),第一组更改的紧迫性等等......

它归结为成本比较:将业务成本转换为jQuery的成本与您学习mooTools的业务成本相比(并且可能同时保持mootools和jquery).

我唯一可以肯定的是不要做选项3.这不一定是因为你不能使它工作(并且会有挑战),但是因为你必须学习mootools来正确维护无论如何这些页面.一旦你这样做,你也可以保持mootools而不是重写所有内容或尝试混合框架.

就个人而言,我倾向于将其转换为jQuery,因为我相信jQuery最终会在市场上占据一席之地.那么言下之意是,它转换为jQuery的在某些时候,所以长期成本,企业可能是最好做早期的转化率,同时有较少的转换和MooTools的仍然是相关的,所以你可以很容易地与转换有助于优化.但这肯定是有争议的.

  • 转向市场的jquery?可能是这样,但它与mootools不在同一个市场 - 它真的没有提供vanilla javascript来处理基于类的继承.mootools不会去任何地方 - 它就在这里,随着1.3和2.0即将到来,它只会越来越强大...... (2认同)