yohjizzz's Blog

I'm a Programmer.

Mustache vs Hogan.js vs Handlebars.js

クライアントサイドで動く Javascript のテンプレートエンジンのお話。

クライアントサイド・テンプレートエンジンというと jQuery.tmpl しか使ったことがなくて、
それはそれで事足りていたんだけど、
Restful + Backbone.js でクライアントMVCだーってなると、
クライアントサイド・テンプレートエンジンの重要性が高まってくる。

ということで、本格派を選定中。

※下記は比較的新しい機能比較の記事。わかりやすい。

今回は、 JavaScript 製でクライアントサイドで使えるテンプレートエンジンの比較を行いました。 まず、機能面で比較した表がこちらです。
 ・・・

クライアントサイドで動くJavaScript Template Engine7つ | 株式会社インフィニットループ技術ブログ

選定基準はこんな感じ↓

  • 実績と信頼性・将来性 (High)
  • テンプレートが Logic Less であること / テンプレートのわかりやすさ (High)
  • プリコンパイルにより高速であること (High)
  • Partial/Include (組み込み) が可能であること (High)
  • Escape や Method Call が可能であること (Middle)
  • サーバーサイドでも利用できるテンプレートエンジンであること (Low)

選定基準を加味すると Mustache/Hogan.js と Handlebars.js あたり。
ただどれも使い勝手にあまり差がない。

あとは気になる速度。

※下記はプロダクト/ブラウザごとのベンチマーク結果。
Mustache vs Hogan.js vs Handlebars.js · jsPerf
Precompiled Templates · jsPerf


この結果を見ると、

■Mustache

Mustache を基準とすると・・・

■Hogan.js

Compiled はもちろん速いが、
Uncompiled も Mustache より全然速い。大事。プリコンパイルできない場合もあると思うので。

■Handlebars.js

Compiled は最速。Hogan.js よりも速い。
Uncompiled はかなり遅い。ICanHaz.js 同等 or やや劣る。


・・・と、いうことで (どういうことで?) 総合的に判断すると・・・・




Hogan.js 採用!!


Twitter 製というのも《なんか》お洒落。m(_ _ )m