选择MooTools而不是Google Closure?
我正在为我们的新网页应用选择一个JavaScript库。这个应用的界面并不是特别复杂,但有一些表单、报告、搜索功能、日历、标签页,并且要支持多个国家,就像大多数网页应用一样。
我们团队很小,最大的担忧是代码的可维护性和可读性。
我们是Python程序员。在评估了很多其他JavaScript框架后,我们把选择缩小到了mootools和google-closure。我们很喜欢mootools的语法,学习起来毫不费力,感觉就像在用Python。另一方面,我们在google-closure中看到的私有/公共属性让我们感到困惑。
虽然选择mootools很有吸引力,但我还是想听听你们对这两个框架各自的具体优点有什么看法。
2 个回答
1
这其实是关于jQuery和MooTools之间的争论。其实两者没有谁绝对更好的说法。从Google Closure的Hello World代码来看,MooTools的语法似乎更简洁、更快速。还有一个要考虑的因素就是支持度。虽然Google Closure是由谷歌支持的,但正如@mjhm所说,MooTools有更多可以搜索到的问题、答案和插件。
从代码的可维护性和可读性来看,我个人会选择MooTools而不是Google Closure。在我看来,MooTools的代码比Google Closure更干净。
MooTools
window.addEvent('domready', function(){
var myAnchor = new Element('h1', {
html: 'Hello World',
styles: {
background-color: #EEE'
},
});
});
Google Closure
goog.require('goog.dom');
function sayHi() {
var newHeader = goog.dom.createDom('h1', {'style': 'background-color:#EEE'},
'Hello world!');
goog.dom.appendChild(document.body, newHeader);
}
5
这个答案可能不太合适,但或许能帮到你一点。我最近也遇到了类似的选择——我在YUI3和JQuery之间纠结。对我来说,最重要的是灵活性和模块化,这让我更倾向于YUI3。不过,有几件事让我每天都在思考我的选择:
- 在Eclipse中的代码辅助功能。我习惯了用Python时的代码辅助,但在YUI3中却没能用上。听说MooTools可以用这个功能,但我没看到Google Closure有这个功能。
- Stack Overflow的支持。关于JQuery的问题超过55000个,MooTools有700多个,但Google Closure和YUI3的问题不到50个(YUI大约有600个)。
- 与原生JavaScript的距离。YUI3几乎把所有东西都封装起来,远离原生的DOM/JavaScript。这需要一些适应,我感觉它在帮我隔离很多跨浏览器和优化的问题,这些我本不想去想。不过,这也让原生JavaScript的教程和示例的价值下降了。我不太确定MooTools和Google Closure在这方面的表现如何。
(顺便说一句,总的来说,我还是很喜欢YUI3。)