Web学習手帳 To Know To Think To Love
 ここはWEB学習用で、制作の実験と備忘録に使っています。公開ブログは、"人生は恐れを知らぬ冒険か無か"(http://home.elmblog.com/)です。 ≪管理人用≫以下の内容やリンク先は、管理人が学習と試作に使っており予告なしに変更されます。

« How to make a fav-icon? | MAIN | URLに変数と値を指定する »

Smartyテンプレートエンジン

XoopsやOpenPNEで使われているSmatyテンプレートエンジンは、コンテンツをプログラムから分離して開発するのに適している。アプリケーションデザインを志す人はSmartyを学習し使いこなせるようになると便利である。Smartyの日本語訳ドキュメントもある。

 オープンソース開発のプログラムを使っているときに気になるのが、そのプログラムをアップグレードしたときに旧プログラムを使って作成したコンテンツの上位互換性・移行性が確保できるかということである。せっかく苦労してコンテンツを開発したのにプログラムをアップグレードしたら既存コンテンツが使えないというのでは困る。とくに人気のあるオープンソースは開発も活発で、機能追加やバグ修正が多い。毎月一回アップグレードというものもある。新しいリリースを使いたいが移行したら動かないというのでは困る。

 Webの構成やページのデザインなどほとんどの部分はHTMLとCSSで追加・変更できるが、プログラムに手を入れないと変更できない部分もある。そのプログラムがPHPやPerl、JavaScriptなどWeb用のスクリプト言語で書かれていると、見よう見まねで改造できるものである。しかし、変に改造するとアップグレードのときに再度書き直しをしなければならず面倒である。これに対処するためにSmartyというテンプレートエンジンが用いられる。

Smaryはphpで書かれたWebアプリケーションのロジックとコンテンツを分離して管理することを容易にしてくれる。CMSやSNSなどのようにコンテンツが頻繁に追加・編集されるアプリケーションでは、ロジックの開発者とアプリケーションのデザイナは違い、並行開発するほうが効率的である。同時にSmartyをそのアプリケーション利用者に公開することにより、利用者側で独自のデザインができる。ロジックが変更されてもアプリケーションのデザインは影響されないというメリットがある。

Post a comment

(If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)