开发工具 用 haml 呼唤 huacnlee (我已决定使用 SLIM 替代 HAML 和 ERB)

gazeldx · 2011年12月29日 · 最后由 greatghoul 回复于 2015年02月27日 · 14017 次阅读

第一版: 我觉得haml还是很好用的,用了3个月了,还没有遇到任何无法实现的逻辑。 @huacnlee 不是说这个haml不大好用么?我觉得超级棒啊!小弟我可以和你交流下。 还有大家如果需要haml高亮,可以用NetBeans IDE 6.9.1的 org-netbeans-modules-haml.nbm插件,Version: 1.0 第二版: OK,兄弟们,我现在HAML也不用了,接受大家的建议,今天花了3个小时研究Slim。http://slim-lang.com/docs.html 原先的haml可以通过https://github.com/fredwu/haml2slimslim代码。转为 SLIM的好处是代码更简洁,连%,if 都省了。 haml中下面的写法等同: a{:href=>'xxx', :href=>'xxx',:title=>'i Love you'} a(href='xxx' title='i Love you') SLIM中这样写: a href='xxx' title='i Love you' 括号也不要了。 而且执行速度还更快(我没测试过) 强烈推荐@huacnlee使用 ubuntu Netbeans下的代码高亮我还要研究下 第三版: ubuntu Netbeans下SLIM高亮已经研究出来了,可以用HAML的org-netbeans-modules-haml.nbm插件。只要右键.slim文件后选择OPEN AS HAML就可以用HAML的高亮了,基本上能用,比纯粹的黑色文本要强多了

共收到 38 条回复

我平时也用的haml,http://codecampo.com 也用的haml。就像Test::Unit和Rspec,看个人喜好吧

觉得实在没有必要,用haml能带来什么?

我有强迫症。。我看见do就必须在后面找到end,不然我不舒服。。。

我只是觉得他和 erb 相比没有任何优势

我喜欢haml,haml的优势是,减少了代码量,代码更简洁。

非常喜欢haml,看起来舒服多了

haml贴,我必定要来推Slim的,嘿嘿嘿 http://slim-lang.com/

#4楼 @huacnlee 自从我用了haml后,腿不酸,脚不疼,不想再用回erb了

蓦然发现了6楼的身影,哈哈。看来社区吸引不少人啊。

用了將近2年了,個人感覺還好,但是同事都不喜歡

haml除了代码上简洁,在效率上有优势么?没有IDE的支持,写HAML还是很痛苦,有可能是没有用过PYTHON之类的语言吧,呵呵

说起效率嘛。。。。 -__,-

# Linux + Ruby 1.9.2, 1000 iterations

                      user     system      total        real
(1) erb           0.680000   0.000000   0.680000 (  0.810375)
(1) erubis        0.510000   0.000000   0.510000 (  0.547548)
(1) fast erubis   0.530000   0.000000   0.530000 (  0.583134)
(1) slim          4.330000   0.020000   4.350000 (  4.495633)
(1) haml          4.680000   0.020000   4.700000 (  4.747019)
(1) haml ugly     4.530000   0.020000   4.550000 (  4.592425)

(2) erb           0.240000   0.000000   0.240000 (  0.235896)
(2) erubis        0.180000   0.000000   0.180000 (  0.185349)
(2) fast erubis   0.150000   0.000000   0.150000 (  0.154970)
(2) slim          0.050000   0.000000   0.050000 (  0.046685)
(2) haml          0.490000   0.000000   0.490000 (  0.497864)
(2) haml ugly     0.420000   0.000000   0.420000 (  0.428596)

(3) erb           0.030000   0.000000   0.030000 (  0.033979)
(3) erubis        0.030000   0.000000   0.030000 (  0.030705)
(3) fast erubis   0.040000   0.000000   0.040000 (  0.035229)
(3) slim          0.040000   0.000000   0.040000 (  0.036249)
(3) haml          0.160000   0.000000   0.160000 (  0.165024)
(3) haml ugly     0.150000   0.000000   0.150000 (  0.146130)

(4) erb           0.060000   0.000000   0.060000 (  0.059847)
(4) erubis        0.040000   0.000000   0.040000 (  0.040770)
(4) slim          0.040000   0.000000   0.040000 (  0.047389)
(4) haml          0.190000   0.000000   0.190000 (  0.188837)
(4) haml ugly     0.170000   0.000000   0.170000 (  0.175378)

1. Uncached benchmark. Template is parsed every time.
   Activate this benchmark with slow=1.

2. Cached benchmark. Template is parsed before the benchmark.
   The ruby code generated by the template engine might be evaluated every time.
   This benchmark uses the standard API of the template engine.

3. Compiled benchmark. Template is parsed before the benchmark and
   generated ruby code is compiled into a method.
   This is the fastest evaluation strategy because it benchmarks
   pure execution speed of the generated ruby code.

4. Compiled Tilt benchmark. Template is compiled with Tilt, which gives a more
   accurate result of the performance in production mode in frameworks like
   Sinatra, Ramaze and Camping. (Rails still uses its own template
   compilation.)

#11楼 @inetufo 确实。还是用着erb顺手

#12楼 @fredwu slim支持rails的auto flushing吗? haml只能用老方式

我喜欢haml,可读性强点,刚开始不习惯,习惯后感觉挺方便,虽然有时得去查文档XD

netbeans 默认不支持 haml 高亮(但是可以通过插件实现) sublime text 2 默认支持 haml 高亮 rubymine 默认也支持 haml 高亮

#11楼 @inetufo 沒用過textmate吧

#15楼 @clc3123 貌似不支持。Haml和Slim都需要提前compile模板,所以auto flushing似乎是没法实现的……

@Victor这个真没用过

#12楼 @fredwu 效率上没任何优势啊

#21楼 @inetufo 效率高很多

貌似大家说效率的时候都没说清楚是开发效率还是执行效率啊,所以导致都误解了对方的意思。 #11楼 @inetufo#22楼 @Rei 说的是开发效率 #12楼 @fredwu#21楼 @inetufo 指的是执行效率

haml +1 强缩进 不用考虑标签结束符 对前端开发挺有好处的

效率的问题,按照松本行弘的说法,在未产生问题之前就不是问题。ruby考虑的以开发效率为先。haml写view真的好快,如果没有好好的,深入的学习,请不要妄下结论。@huacnlee 说实话,erb我倒是没有深入去学习,一上手就是haml,:-)所以我也不能妄下结论。我只能说,我用haml的时候那个爽劲,难以言表。是以前用java写view时无法表达的。 haml高亮是很必要的,这是开发效率的保证。我在帖子主题中已经说明我ubuntu下 用NetBeans IDE 6.9.1的org-netbeans-modules-haml.nbm插件,Version: 1.0 。大家网上搜索下载。

#4楼 @huacnlee 不考虑性能,haml和erb的差异有点像velocity和jsp,前者相对于后者可以减弱"服务端动态页面"里混合语言编程带来的阅读复杂性

#7楼 @fredwu 对,同支持Slim的飘过!

OK,兄弟们,我现在HAML也不用了,接受大家的建议,今天花了3个小时研究Slim。http://slim-lang.com/docs.html 原先的haml可以通过https://github.com/fredwu/haml2slimslim代码。转为 SLIM的好处是代码更简洁,连%,if 都省了。 haml中下面的写法等同: a{:href=>'xxx', :href=>'xxx',:title=>'i Love you'} a(href='xxx' title='i Love you') SLIM中这样写: a href='xxx' title='i Love you' 括号也不要了。 而且执行速度还更快(我没测试过) 强烈推荐@huacnlee使用 ubuntu Netbeans下的代码高亮我还要研究下

我也用slim代替了haml

#30楼 @cqpx slim is better than haml ?

#31楼 @makeyou 学rails之前我用的nodejs,我更喜欢jade的语法,更简洁。haml over erb不就是图个简洁嘛 而且根据slim网站上的benchmark,性能比haml好

view用haml和slim这种和html相去太多的template的时候,最大的问题其实不在于语法和模版速度本身,而是开发模式,如果页面的模版什么都是咱们自己一锅端,用什么都无所谓,但是如果专门有美工来做页面,而叫美工重新学一个模版引擎是不太可行的情况下,haml和slim这种就比较麻烦,所以我还是选择用erb

美工还是HTML,做好了我们程序员集成,用SLIM或者HAML都是很方便的事情。不会让美工学习SLIM的。:-) SLIM在NETBEANS中的高亮我发现可以用HAML的org-netbeans-modules-haml.nbm插件。只要右键.slim文件后选择OPEN AS HAML就可以用HAML的高亮了,基本上能用,比纯粹的黑色文本要强多了

性能差不多,青菜萝卜各有喜欢。人喜欢ruby有人喜欢python~

不好意思挖坟了...sublime text2中没有slim的语法高亮,各位有什么提议吗? 不好意思,我不仅挖坟了,还在没有看自己看完LZ的信息就挖了...

如何你在插件里,请别用slim.

38楼 已删除

#33楼 @pzgz 除非不得不用,我一般都是类 erb 的模板的,至于爽劲么,emmet 走起。 对于一些经常用的 html 片断,每次 html2haml 和 html2slim 真的很难受。

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册