【问题标题】:Choosing MooTools over Google closure?选择 MooTools 而不是 Google 关闭?
【发布时间】:2010-12-24 14:51:15
【问题描述】:

我正在为我们的新 Web 应用程序选择 javascript 库。这个应用程序的 UI 不是很重,但与大多数网络应用程序一样,它具有表单、报告、搜索、日历、标签和定位多个国家/地区。

我们是一个小团队。最大的担忧是代码的可维护性和可读性。

我们是 Python 程序员。在评估了许多其他 javascript 框架之后,我们将范围缩小到 mootools 和 google-closure。我们喜欢 mootools 语法。我们没有时间去学习。这就像 Python。另一方面,我们在谷歌关闭中看到私有/公共感到难过。

使用 mootools 很诱人,但是,我很想听听您关于这些框架提供的具体优势。

【问题讨论】:

  • 是的,这不是直接的 Python 问题。但我们是 Python 开发人员,因此也试图了解 Python 开发人员更喜欢哪个框架。比如说,如果一个 python 程序员必须在睡衣和 GWT 之间做出选择,那么这个人的背景会有所不同。

标签: python mootools javascript google-closure


【解决方案1】:

这不应该是公认的答案,但它可能会有所帮助。我最近不得不做出类似的选择——但对我来说它是在 YUI3 和 JQuery 之间。我的主要优先事项是敏捷性和模块化,这使我倾向于 YUI3。虽然有几件事让我每天都在思考我的选择:

  1. Eclipse 中的代码辅助。我已经习惯了使用 Python,并没有让它与 YUI3 一起使用。它似乎可用于 MooTools,但我没有在 Google Closure 中看到它。
  2. 堆栈溢出支持。 JQuery 标记了 >55000 个问题,MooTools 标记了 >700 个问题,但 Google Closure 和 YUI3 标记了
  3. 与原生 JavaScript 的距离。 YUI3 似乎将几乎所有东西都从 vanilla DOM/JavaScript 包装起来。这需要一些时间来适应,而且我觉得它很好地将我与许多我不想考虑的跨浏览器优化问题隔离开来。然而,它确实降低了更多原生 JavaScript 教程和示例的价值。我不确定 MooTools 和 Google Closure 之间的关系。

(顺便说一句。总而言之,我还是很喜欢YUI3。)

【讨论】:

  • MooTools 可能是我见过的最接近 vanilla 的库了。
【解决方案2】:

嗯,这是 jQuery 和 MooTools 之间的全部争论。一个比另一个没有真正的优势。通过查看 google-closure 的 Hello World 代码,Mootools 似乎具有更简洁、更快速的语法。您还必须查看支持。当然,Google 支持 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'
        },
    });
});

谷歌关闭

goog.require('goog.dom');
function sayHi() {
    var newHeader = goog.dom.createDom('h1', {'style': 'background-color:#EEE'},
    'Hello world!');
    goog.dom.appendChild(document.body, newHeader);
}

【讨论】:

  • 谢谢。示例略有不同,mootools 示例添加并且事件关闭代码也不会关闭将其附加到 moottols 没有的主体。无论如何,到目前为止,我所读到的闭包并没有扩展 javascript 本机类型,但 mootools 确实可以实现更好看的语法。此外,闭包更丰富的是提供基本块来构建您自己的小部件,这很好。
  • @Shekhar:MooTools 比 Closure 更简洁,并且更像原生 JavaScript,因为 Closure 倾向于 Java 做事方式,而 MooTools 更喜欢惯用的 JS。
  • @Shekhar:如果您想找出哪个库更适合您和您的团队,只需规划项目的一小部分并在 Closure 和 Mootools 中执行它。假设您需要开发一个 ajax 方法,请在 Closure 和 Mootools 中进行。完成后,请查看完成脚本所需的时间、代码复杂性以及其他团队成员所说的内容。这应该让您了解哪个库适合您。同样,没有正确或错误的答案。
猜你喜欢
  • 2013-01-01
  • 2010-12-19
  • 2018-03-21
  • 1970-01-01
  • 1970-01-01
  • 2023-03-12
  • 1970-01-01
  • 1970-01-01
  • 2011-02-11
相关资源
最近更新 更多