为什么jQuery如此广泛地被采用与其他Javascript框架?
我管理一群程序员。 我非常重视员工的意见,但最近我们对于在网络项目中使用哪种框架感到分歧。
我个人喜欢MooTools ,但我的一些团队似乎想迁移到jQuery,因为它被更广泛地采用。 这本身不足以让我进行移民。
我用过jQuery和MooTools 。 这篇特别的文章倾向于反映我对这两个框架的感受。 jQuery非常适合DOM操作,但似乎仅限于帮助您实现这一点。
特性明智的是, jQuery和MooTools都支持简单的DOM选择和操作 :
// jQuery
$('#someContainer div[class~=dialog]')
.css('border', '2px solid red')
.addClass('critical');
// MooTools
$('#someContainer div[class~=dialog]')
.setStyle('border', '2px solid red')
.addClass('critical');
jQuery和MooTools都可以轻松实现AJAX :
// jQuery
$('#someContainer div[class~=dialog]')
.load('/DialogContent.html');
// MooTools (Using shorthand notation, you can also use Request.HTML)
$('#someContainer div[class~=dialog]')
.load('/DialogContent.html');
jQuery和MooTools都支持简单的DOM动画 :
// jQuery
$('#someContainer div[class~=dialog]')
.animate({opacity: 1}, 500);
// MooTools (Using shorthand notation, you can also use Fx.Tween).
$('#someContainer div[class~=dialog]')
.set('tween', {duration: 500})
.tween('opacity', 1);
jQuery提供以下额外功能:
MooTools提供以下额外功能:
鉴于此,似乎MooTools完成了jQuery所做的所有工作(我在jQuery中无法完成的一些事情,而且我可以在MooTools中完成 ),但jQuery的学习曲线较小。
所以问题是,你或你的团队为什么选择jQuery而不是另一个JavaScript框架?
注意:虽然我知道并承认jQuery是一个很好的框架,但还有其他选择,我试图做出决定,为什么jQuery应该成为我们的选择,而不是我们现在使用的( MooTools )?
这是一个奇怪的问题......我得到的印象是......
底线,这是炒作吗? jQuery正在变成这些神奇的营销流行语之一,比如'AJAX',.NET和Web 2.0 - 这对他们来说很好,但为什么你需要证明你仍然适合适合你的框架? 还有我想象中的商业考虑因素将包括如下内容:
这两个框架都非常棒,但我相信你的兴趣最好是留在mootools中。
就个人而言,jQuery正是我所需要的。
我尝试在我的服务器端代码中完成大部分工作,这些代码结构良好:它具有适当的OOP,图层和MVC体系结构。 当我需要用JavaScript做些事时,我发现(到目前为止)jQuery拥有我需要的东西。 坦率地说,这分为三类:
最重要的是,jQuery插件库非常庞大,我发现了很多库来简化我的客户端工作。 好东西。
MooTools引入了OO思想,这很好,但不是我所需要的。 我希望在后台保持我的结构性,而不必将这种想法引入我的客户端代码。 对我来说,客户端代码是一个非常小的重点,并且从类视角来考虑它是一种过度的方式,而且更多的工作方式。 我觉得如果我使用我认为对MooToools来说最好的做法,我会建立两个应用程序而不是一个应用程序。
我认为这总结了为什么它如此受欢迎,特别是在这里。 总的来说,我们是后端代码-y类型的人,jQuery让我们以编程方式制作吸引人的用户界面,并让我们专注于后端核心。
我不喜欢将经典的对象方向强加到JavaScript上。 有很多方法可以做到这一点,一个JavaScript程序员可能使用Base2进行面向对象,而另一个使用Prototype或Moo或JS.Class或Joose。 Resig故意决定不向jQuery添加类,并且鼓励人们找到更多原生的JavaScript方法来解决问题。
因此,我更容易阅读JavaScript其他jQuery编写者编写的代码,并编写易于其他人阅读的jQuery代码。 我通常不会尝试在JavaScript中模拟类OOP。 相反,我在飞行中创建对象并传递它们,并且我有很多对象数组。 这很容易理解,我甚至发现自己将这种想法带到OOP语言!
据我所知,Moo可能已经赶上了jQuery或者超越了它。 但是我不能把时间花在跟踪6,7个伟大的JavaScript库上,看看哪个马前进。
我认为这主要是时间问题。 当大量程序员跳入AJAX时,jQuery是解决他们问题的热门新酷事物。
其他图书馆很大程度上赶上了。 YUI,ExtJS,Dojo,Moo--他们都很棒。 但我无法全部使用它们。
我努力工作,努力弄清楚我使用的图书馆的新功能的后果。 例如,jQuery从1.3开始添加了Live events。 这实际上让我从很多页面切割代码。 Moo现在也提供这种服务吗?如果它发生了,我该怎么知道它发生了?
我确定Moo真棒。 我很乐意有时间学习它。 但是你看过Dojo吗? 我不得不在一个项目中使用它,并发现它也从jQuery中获得了绝大多数的好点子。 它有pubsub和对Comet的很好的支持。
我很同情你。 但是你的程序员说话有道理。 学习jQuery对他们的职业生涯非常有利,如果他们使用jQuery,还有更多书籍,示例和其他程序员可以寻求帮助。
如果您决定继续使用jQuery,那么在决定是否使用OO库之前应该先仔细考虑。 有一些很酷的(比如JS.Class或Joose),但是采取这一步意味着将自己与绝大多数JavaScript程序员的代码隔离开来。
链接地址: http://www.djcxy.com/p/94011.html上一篇: Why is jQuery so widely adopted versus other Javascript frameworks?