更新: 选择其中一个怎么样?我听到的大部分抱怨(虽然抱怨很少)似乎都是关于HAML的,混用XHTML/HAML和CSS/SASS会有任何问题吗?
更新: 对不起,最后一个问题,从SASS切换回CSS似乎是轻松简单的,但是从HAML切换回HTML呢?
如果你正在使用Rails,那么肯定可以使用。不过需要注意的是,后来可能加入团队的任何其他开发人员也必须学习使用HAML/SASS。如果你已经在与大量Rails开发人员合作,那就没问题了,但是对于多年使用纯HTML/CSS的设计师来说,HAML/SASS可能会让他们感到困惑。
如果你没有使用Rails,那么很难找到一个好的集成了HAML/SASS的系统。虽然有一些这样的系统,但我想它们的支持可能不够好或者还没有完全符合规范。
但是,HAML/SASS绝对值得一试。唯一真正的问题是它尚未成为标准。
至于混合使用,HAML和SASS的风格非常相似,所以我认为两者都可以使用,但又取决于个人喜好。试用一天两种工具,如果你不喜欢其中的一种,就切换回另一种。从技术上讲没有问题,所以按照自己的喜好去做吧。
compass watch
命令,可在保存时自动编译sass文件。[给你投了-1票,因为你已经得到了6票(!),而且并不是那么了解情况...没有恶意。:-)] - Andrew Vit我曾参与志愿项目,其中HAML的语法曲线(语法空格,自动生成标签等)被视为一种障碍:对于新加入项目的程序员来说,这是需要学习的又一件事情。
就我个人而言,我认为SASS是值得的,但对于HAML,我还没有下定论:在调试HAML模板之前,似乎你不需要输入的内容反而被花费在了解决模板中出现的错误上。不过这可能是一个(HAML)新手的看法。
我倾向于赞同这个问题; 它很容易切换,语法并不复杂,而且它可以使事情更加清晰和高效。 它还可以使生成无效HTML的可能性变小。
我认为学习曲线足够浅,以至于一个无法掌握它的程序员可能是你团队中不需要的程序员。 这听起来可能有些苛刻,但我相信这一点。
我唯一能看到的缺点是,如果您正在使用ASP.NET或其他一些平台,在后期添加Haml和Sass将会很麻烦,并且对于其他平台的用户来说,这是非常意外的,并且在生产环境中可能会很繁琐。 但是在Rails上,可以尝试使用它。
我认为在项目中使用HAML并没有太多好处。
另一方面,SASS有效地引入了变量、计算和其他非常有用的功能,在更大的项目中节省时间和精力。
对于任何大于简单单页表单的项目,使用SASS都是非常明智的选择。
很多人没有意识到的一件事是,HAML不适合用于内容。它非常适合结构性标记,但不要试图过度使用它。(您也可以在HAML文件中混合和匹配HTML!)
Sass是绝对必不可少的,尤其是从长远来看。这不仅仅是关于当你已经有了所有样式表并且在头脑中完全掌握它们时编写它们,而是关于在日后维护它们。新的Sass3消除了语法问题:如果您喜欢花括号SCSS语法,您可以随意选择。
为什么会这样..
%p
hello world
<p>hello world</p>
提示.. 如果你不使用 Ruby,那么这并不重要。不幸的是,添加闭合标签和大括号并不是制作网页最具挑战性的方面,因此大多数专业人士并不会太在意。使用任何你喜欢的方式。
HAML/SASS 可能确实很棒,但它们会引入技术和知识方面的依赖关系。如果您的开发和生产环境足够受控和可预测,并且新手接受了足够的培训(或在进入组织时经过了主题知识的审核),以便立即开始工作,那么这可能不是问题,但所有这些都是需要承认的额外开销。
从开发人员的角度来看,Haml和Sass绝对是非常好的。但是:从设计师的角度来看,Haml和Sass可能不太容易阅读。这真的取决于你的团队成员。
如果你的团队成员都是开发人员和/或设计师,并且不怕学习DSL,那么绝对可以使用。
如果你的团队是混合团队,其中设计师将他们的CSS和HTML工作交给开发人员来翻译成Haml/Sass,那么当然可以使用。
如果你的设计团队将工作交给开发人员,而工作又流回到设计师手中,那么你可能不想使用它,因为设计师可能无法使用他们的工具编辑文件。
如果你有一个小团队,营销和业务人员需要编辑网页,他们只知道HTML和一点点CSS,那么你可能不应该使用Haml/Sass。
然而在这里你不能真正地做出一概而论的陈述。请考虑至少在Rails中,您可以在视图中混合模板类型。因此,您的某些模板可以是纯HTML,存储在.erb文件中,而其他页面则是.haml文件。您可以将部分内容作为一种类型插入到另一种类型的模板中。(我认为混合使用不同类型可能是一个不好的实践,但如果您只需要“完成工作”,那么这是一个选项。)