【问题标题】:Why use HTML and not HAML? [closed]为什么使用 HTML 而不是 HAML? [关闭]
【发布时间】:2011-07-08 19:37:59
【问题描述】:

在各种论坛和博客中,我看到有些人在宣传HAML,有些人在宣传 HTML。使用 HAML 与 HTML 的优缺点是什么?

我只是想了解如果我使用 HAML 来支持 HTML(如果有的话),我会错过什么。

【问题讨论】:

  • 我不得不谷歌一下 HAML 是什么,这本身就是一个答案。 :) 然而,我倾向于以主观和争论的方式投票结束 - 有几十种标记语言,如果没有特定的重点,讨论每个人的优缺点对我来说毫无意义。
  • 我喜欢HAML,但我想知道我是否会用它把自己画到一个角落里。我不是在寻找您对 HTML 与 HAML 的看法。

标签: html haml


【解决方案1】:

您正在尝试将苹果与橙子进行比较。浏览器只理解 HTML。 HAML 只是一种转换为 HTML 的模板语言(例如,相同的最终输出)。如果你发现 HAML 语法比 HTML 更简单,那就去吧。然而恕我直言——抽象出你正在生成的实际元素只会让应用 CSS 和进行 JavaScript 导航变得更加困难。

就个人而言,如果我想“修剪”我的 HTML,我会将内容放入标签中(取决于您的服务器端技术)

<!doctype html>
<html>
<head>...</head>
<body>
  <x:awesomeListThing data="$foo"/>

  <x:foreach data="$bar">
    <x:renderBazWidget/>
  </x:foreach>
  <div>random content that hasn't been "tagified" yet.</div>
</body>
</html>

然后在任何标签的模板中,您将能够看到正在生成的实际 HTML 结构。

【讨论】:

  • +1 用于在您想编写 HTML 时编写 HTML。尽管您示例的类似 XSLT 的语法确实让我三思而后行;o)
  • 呵呵,是的,XSLT 乍一看可能有点让人不知所措,但使用自定义标签的想法是将常见的代码“片段”分解为可重用组件。如果做得好,视图标记非常干净,并且标签的维护使全局修复/更新变得非常容易。即使您不使用任何 if/else/foreach 标签,单个“小部件”也变得更易于维护。
【解决方案2】:

使用 HAML 而不是 HTML 的主要缺点是 HTML 在 Web 开发人员中几乎是通用的,而 HAML 社区仍然是一个相对较小的社区。毫无疑问,这将使寻找开发人员在未来为您的项目工作成为一项更加艰巨的任务。

但如果你有资源,你可以争辩说这是一种优势。确保您只雇用有能力和有 HAML 经验的开发人员。

我可以看到的另一个主要缺点是,如果您有图形/网页设计师在您的模板上工作,与您的开发团队分开,他们还必须熟悉 HAML。您可以想象,能够做到这一点的图形/网页设计师很少,也很少有工具可以帮助他们。

【讨论】:

  • 请原谅任何糟糕的拼写/语法,这里已经很晚了
【解决方案3】:

谷歌HAML。我相信,你会得到相关的东西来理解它。

哈姆是:

  • 易于阅读并直观地表达您的 DOM 层次结构
  • 简单易学
  • 移植到其他语言
  • 维护良好,拥有庞大的社区
  • 很受设计师欢迎,因为它借用了 CSS 语法
  • 几乎和普通 ERB 一样快
  • 使许多类型的错误不可能(或非常困难)

看这里:

【讨论】:

  • 我同意,但请注意 HAML 更适合开发人员,您会发现我的 Web Designer 更喜欢使用 HTML。
【解决方案4】:

在 Stackoverflow - HTML 有 65k 关注者。你会在很短的时间内得到一个答案,很可能是很多答案。 HAML 有 157 位关注者。简单的数学运算。

【讨论】:

    【解决方案5】:

    当主要的 IDE(如 Aptana)学会解析 HAML 时,我们可以回到这个问题。现在我看到了 HTML 的优越性,因为它被常见的解析器广泛支持和理解。您可以获得正确的语法着色,并且任何错误或验证问题都会立即被标记。 HAML 并非如此。

    此外,考虑网页模板。它们通常是 (X)HTML + CSS,可以是可供租用的现成模板,也可以是您的设计师为您剪裁的设计。您获得 HAML+SASS 模板而不是通常的 XHTML+CSS 的几率有多大?

    HAML 需要获得更多的领域,并且它的社区需要进一步发展,才能成为 HTML 的可行替代品。目前大多数网络程序员甚至都不知道 HAML 是什么,更不用说用 HAML 编写任何东西了。

    【讨论】:

      猜你喜欢
      • 2011-11-14
      • 2015-06-03
      • 2015-04-26
      • 2015-12-04
      • 2020-12-04
      • 2011-09-22
      • 1970-01-01
      相关资源
      最近更新 更多