第一版: 我觉得 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 的高亮了,基本上能用,比纯粹的黑色文本要强多了
说起效率嘛。。。。 -__,-
# 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.)
netbeans 默认不支持 haml 高亮(但是可以通过插件实现) sublime text 2 默认支持 haml 高亮 rubymine 默认也支持 haml 高亮
效率的问题,按照松本行弘的说法,在未产生问题之前就不是问题。ruby 考虑的以开发效率为先。haml 写 view 真的好快,如果没有好好的,深入的学习,请不要妄下结论。@huacnlee 说实话,erb 我倒是没有深入去学习,一上手就是 haml,:-) 所以我也不能妄下结论。我只能说,我用 haml 的时候那个爽劲,难以言表。是以前用 java 写 view 时无法表达的。 haml 高亮是很必要的,这是开发效率的保证。我在帖子主题中已经说明我 ubuntu 下 用 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 下的代码高亮我还要研究下
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 的高亮了,基本上能用,比纯粹的黑色文本要强多了
不好意思挖坟了...sublime text2 中没有 slim 的语法高亮,各位有什么提议吗?
不好意思,我不仅挖坟了,还在没有看自己看完 LZ 的信息就挖了...