看见有人这么说,是这样吗?
是不是在 Rails 3 上所有 .erb
文件,都是默认用 erubis?
因为好像 erubis 是相比传统 erb,eRuby 最快的吧?
另外感觉 Haml,Slim 之类的除了代码看上去简洁一些以外,没有任何性能上的优势对吗?
我们的网站正在考虑重构代码,下一步选择什么工具来做 template 比较好呢?
谢谢~~
我觉得一般情况下,模板引擎的性能不要特别考虑。因为一般都会用到缓存,而缓存编译过的片段(fragment)是最好的,纯字符串是大多数缓存的原生类型;如果做对象缓存,还得多一步序列化或反序列化,比较耗时。
仅仅是理论哈,我没有做过性能测试。
#4 楼 @lgn21st,或许我应该写不支持 haml 写法才对?
使用 Haml 撰寫 HTML 的壞處
如此 powerful 的 markup language 為何沒有風行?反倒是原先屬於副功能的 Sass 大紅特紅。
原因就在於 Haml 的特性:不只需要被機器 compile,它也需要被人腦 compile。
HTML 本身就是一門相當直觀的 markup language。
在撰寫 Haml 時,排版雖然相當輕鬆。但接手維護 Haml 版面的人,卻通常痛苦不堪。因為「非常不直觀」。
這也是 Haml 的反對者,批評最力的地方。
多數人無法接受維護不直觀的「任何東西」,加上撰寫 Haml 需要另外學習特殊的 syntax。沒有壓倒性的好處,一般人是不會貿然進行技術投資的。這也是為什麼 Haml 始終處是小眾技術的主要原因。
现在觉得没有显式的 end,单靠缩进来表示层级实在太费劲了(Python 党退散><),特别是开始和结束不在同一屏的时候……(Vim 有没有插件可以显示缩进层级的?)
Erubis / Haml / Slim 的性能:https://github.com/stonean/slim
结论:Slim >= Erubis >>> Haml