Rubyテンプレートエンジンの比較
ERB(イーアールビー/イールビー)
- 特徴
- Ruby on Railsのテンプレートエンジン。標準添付ライブラリなので、手軽に使える
- 動作が軽い
- テンプレートの中にコードを書く必要がある
- 関連リンク
- ERB:日本語チュートリアルあり
HTMLTemplate(エイチティーエムエル テンプレート)
- 特徴
- Perlの「HTML::Template」ライクに使える
- 軽量で最低限の機能を実装している
- 拡張しやすく、柔軟性がある
- 関連リンク
Amrita(アムリタ)
- 特徴
- 他のテンプレートエンジンと比べ、処理が若干重い
- テンプレートとモデルデータをid属性によってマッチさせ、HTML文書を出力
- XHTMLにも対応
- 関連リンク
- Amrita:日本語チュートリアルあり
PHPテンプレートエンジンの比較
Smarty(スマーティー)
- 特徴
- プログラマ視点で開発されているため、テンプレートにプログラムを挿入でき柔軟に対応が可能
- SSIを使うには、カスタマイズが必要
- キャッシュ機能あり
- 関連リンク
- Smarty:日本語マニュアルあり
HTMLTemplate(エイチティーエムエル テンプレート)
- 特徴
- 鮎川寛氏が開発したテンプレートエンジン
- 軽量
- PHP4とPHP5用があり、sourceforgeよりソースコードが提供されている
- 「htmltemplate.inc」というファイルをインクルードするだけで使用できる
- 必要に応じて機能の拡張がしやすい
- 非常にシンプルな構文ルールなので、コーダーにも分かりやすい
- 現在、開発は停止中
patTemplate(パットテンプレート)
- 特徴
- 軽量
- デザイナー(コーダー)視点で開発されているため、HTMLの修正が容易
- 「patTemplate.php」ファイル1つで実装できる
- HTMLTemplateと同様、コーダーにとっても分かりやすい
- テンプレートに結果をアサインするためのロジック部分は、Smartyとほぼ一緒
- 関連リンク
- patTemplate(英語):英語マニュアルあり
Perlテンプレートエンジン
Template-Toolkit(テンプレート ツールキット)
- 特徴
- テンプレートにプログラムを挿入できる
- PHPでのSmartyと似ており、豊富な機能を提供する
- 関連リンク
- Template-Toolkit(英語:CPAN):英語マニュアルあり
HTMLTemplate(エイチティーエム エルテンプレート)
- 特徴
- 軽量
- 最低限の機能を実装
- 拡張しやすく、柔軟性がある
- 関連リンク
- HTMLTemplate(英語:CPAN):英語マニュアルあり
テンプレートエンジンの比較においてもフレームワークと同様に、「豊富な機能を持ったもの」と「軽量でシンプルな構造を持ったもの」、2種類の方向性が見えてきます。開発を行うサイトの規模、共同開発を行うメンバーの人数やタイプによって、これらのテンプレートを選択する必要があります。うまく選択して開発を始めることで、効率化とプログラマの負荷軽減を図る事が可能です。
まとめ
今回は、Webで使用されているPHP、Ruby、Perlを中心にフレームワーク、テンプレートエンジンの比較をし、それぞれの特徴について見てきました。次回は、それらの技術を活用し、便利なWebアプリケーションの土台を作成する方法について考えていきます。