我负责管理一个程序员团队。我很重视我的员工的意见,但最近我们在Web项目中使用哪个框架上产生了分歧。
我个人比较偏爱 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提供以下附加功能:
- 拥有庞大的支持者社区
- 插件库
- 与微软ASP.NET和VisualStudio集成
- 被微软、谷歌和其他公司所使用
MooTools提供以下附加功能:
- 面向对象框架,具有JS的经典OOP模拟
- 扩展原生对象
- 更高的浏览器兼容性,支持原生函数
- 更易于重用代码
- 被万维网联盟、Palm等公司所使用
因此,MooTools似乎可以做到jQuery能做的一切,并且还有更多功能(一些我在jQuery中无法实现,但我可以在MooTools中实现),但jQuery的学习曲线较低。
那么问题是,你或你的团队为什么选择jQuery而不是其他JavaScript框架?
注意:虽然我知道并承认jQuery是一个很棒的框架,但周围还有其他选项,我正在尝试决定为什么jQuery应该是我们的选择,而不是我们现在使用的(MooTools)?