クライアントサイドJavaScriptで使えるテンプレートエンジンのメモ
ここ最近クライアントサイドで使えるJavaScript製のテンプレートエンジンを調べてました。業務で必要だったんで、調査してたんだけど、ここら辺有名所から、無名のまでかなりの数があるんですな…。という事で、忘れない内にメモ。
ただし、この中で実際に試してみたのは、ejsとPUREだけだったりする。感想はサイトの説明を見てのもので、そっから業務にあったのをピックアップしたらこの2つになった次第。感想とか書いてるけど、ちょっと適当。
- jstparser.js
- jsRender&jsViews
- JsRender: Demos
- jQuery templateプラグインがこちらに切り変わる模様
- jsmarty
- jsmarty - JSmarty Project - Google Project Hosting
- 何か開発停止してるっぽい
- jQuery Templates Proposal
- Contents · nje/jquery Wiki · GitHub
- ちょっと古いけども、jQueryで使えるテンプレートまとめ
- JavaScript templates
- JavaScript templates | MDN
- MDNにあるjsのテンプレートまとめ。
- PURE
- JavaScript Templates Engine PURE | BeeBole
- 珍しく普通にHTML書けばそのままテンプレートとして使用できる。個人的には非常に使いやすいと思う。
- dust
- dust
- LinkedInの開発ブログで知った。今はこれをJSPの代わりに使ってるぜっていう記事。Leaving JSPs in the dust: moving LinkedIn to dust.js client-side templates | LinkedIn Engineering
- jTemplates
- jTemplates - template engine in JavaScript
- jQuery pluginとして使える。ただメソッドとか個人的には分かりにくい。
- jQuery template
- jQuery.template() – jQuery API
- jQueryの公式プラグイン。どうやら開発はもうしないで、上記のjsRender/jsViewに移行するらしい。そこそこ使いやすいと思うけど、中身があまりイケてない風。移行するという記事は、こちら。Dancing with Data: jQuery Templates and JsViews: The Roadmap
- jarty
- kotas/jarty · GitHub
- ドワンゴで作ったテンプレートエンジンらしい。ニコニコ動画でも使われているっぽい。開発はどうやら停止してる感じがする。去年の記事だけど、こちらで紹介されてる。JavaScript 用テンプレートエンジン Jarty の紹介 - ドワンゴ 研究開発ブログ
- haml-js
- creationix/haml-js · GitHub
- サーバーサイド用のテンプレートエンジンらしい。無理矢理ビルドとかすれば、クライアントでも使用できるかもしれんけど。
- handlebars
- Handlebars.js: Minimal Templating on Steroids
- Netnutsの記事から見つけた。Mustacheを拡張して使いやすくしたもののよう。
- infuser
- ifandelse/infuser · GitHub
- 純粋にテンプレートエンジンかというと、ちょっと違うようなんだけど最近出来たライブラリ。TrafficCopってライブラリに依存してる。非同期にテンプレートを呼び出すのが主眼らしい。ブログ記事はこれ。Infuser – a Template Loader « If & Else
- EJS
- EJS - JavaScript Templates
- Expressで俺は知ったけども、クライアントサイドでも使用できるようで。これJavaScriptMVC作ってる所が作ってたのね。普通に使いやすい。
以上、終わり。現状はこれに加えて、underscore.jsの._template()とかも使える位かな。今現在は、PUREかejs使おうと思ってますが、これは単純に案件の性質によるものなんで、ぶっちゃけ優れてるからとかでは無いです。