熟悉ruby on rails 的人,应该都HAML gem 有一定的了解,使用这个gem 可以产生很漂亮, 很干净的HTML文件。
这里是官方主页: http://haml.info/tutorial.html
下面就给一个很简单的列子
一般写页面,大家可能都会这么写
<div id='content'>
<div class='left column'>
<h2>Welcome to our site!</h2>
<p><%= print_information %></p>
</div>
<div class="right column">
<%= render :partial => "sidebar" %>
</div>
</div>
但是如果使用HAML gem 结果就是这样的
#content
.left.column
%h2 Welcome to our site!
%p= print_information
.right.column
= render :partial => "sidebar"
什么感觉了,不同人有不同的感觉, 我个人感觉的确很酷, 很多人推荐我在项目中使用,但还是被我拒绝了,为什么了?
理由有二点:
1. 使用HAML语言,会使页面反应变慢。 本来HTML语言可以直接生成页面, 现在系统还要先解释下,然后生成页面。
这是违背网页设计的基本原理,尽量使用更多的静态页面。
2. 不好维护而且增加了不必要的转换时间。 对于我们这样的团队, 页面设计和后台设计是分开的。 你觉得页面设计团队会
花时间去学习如何写haml语言吗? 他们不会,也没有这个时间去学习。 因为他们不仅仅负责我们的项目,也负责其他语言,比如php java
的项目。 那么好,页面设计团队做好页面设计后,交给开发团队,我们要做什么事情了?
* 把HTML语言翻译成HAML语言。
* 然后嵌入到我们的页面。
这简直就是浪费时间。 更可怕的是,以后如果要求页面团队直接改HTML界面,当他们看到HAML语言,他们第一反应绝对是头疼。
这是什么代码。 考虑到以后的维护,怎么办? 原本HTML语言,你随便拉个工程师都可以维护,现在变成HAML语言了, 怎么办?