テンプレートエンジン 【template engine】
概要
テンプレートエンジン(template engine)とは、Webサーバ上で動作するソフトウェアの一つで、Webページの雛形(テンプレート)を元に動的にページを生成するもの。デザインとコンテンツを分離して管理することができる。サイト運営者はサイト内の各ページに共通するナビゲーションやヘッダ、フッタなどを記述したテンプレートを用意する。テンプレートエンジンは利用者の求めに応じてデータベースのデータなどをテンプレートの所定の位置に当てはめ、動的にWebページを生成してWebブラウザに送信する。
雛形となるHTMLファイルには、各ページの共通要素に加え、特殊な記法を用いてどのデータがどこに埋め込まれるのかを記述する。簡易なプログラミング言語処理系を備え、ページ内に記述されたコードをページ生成時に実行して結果を埋め込むことができる製品もある。
Webアプリケーションをテンプレートエンジンにより構成することで、ページの構造や見た目はデザイナーが制作し、データを組み合わせる処理はプログラマーが開発するなど、分野ごとに分業することができる。デザインのみ、あるいはデータモデルのみを修正、刷新するといった局所的な更新もしやすい。
また、ページ生成にまつわる処理をテンプレートエンジンに任せ、開発者はアプリケーション固有の処理の記述に集中することができる。同じデータを異なるテンプレートで出し分けることも容易であるため、国際化(多言語化)などが必要なサイトやアプリケーションも構築しやすい。
多くのテンプレートエンジンは特定のプログラミング言語でアプリケーション側の処理を記述するようにできている。著名な製品としては、PHP向けの「Smarty」や「Blade」、Java向けの「JavaServer Pages」(JSP)や「Apache Velocity」「Thymeleaf」、.NET言語向けの「ASP.NET」などがある。
(2024.2.20更新)