minimal-templateとは
minimal-templateとは
minimal-template とは文書作成に用いるテンプレート処理系の1つです。テンプレートといわれる型となる文章に幾つかの記号を埋め込み、その記号を外部から与えられた文字列で置き換えて文書を作るものです。例えばこれをメール作成に利用すれば、相手先を変えたり、相手により文章の内容を変えることができます。またWebページに利用すれば、場合に応じてページの表示内容を変えることもできます。
テンプレートは情報の見栄え決めるものです。どのような情報が表示されるかは関与しません。テンプレートを使うことにより見た目のデザインと表示する内容を分離することができます。すなわちテンプレートを使うことにより、テンプレートのデザインを行う人(デザイナ)と、テンプレートに埋め込む情報を作成する人とで仕事の分担ができるようになります。このことがテンプレートを使うことの大きな目的です。
このようにテンプレートには大きな利点があるため、既に多くのテンプレート処理系が提供され利用されています。例えば、
- Smarty(PHP)
- HTML::Template(Perl)
- Template::ToolKit(Perl)
- Velocity(Java)
- NVelocity(.NET) ...等など
しかしながら、テンプレートの作成はデザイナが行うものです。この観点からはこれらのテンプレート処理系には多少問題があるように思えます。
- 高機能であるが複雑である。
- プログラムが分からないと使えない。
- デザインが制約を受ける。
- プログラマとの打合せ事項が増えた。
テンプレート機能を豊富にしようとすると、テンプレートに埋め込まれる記号の種類や約束事が増えます。このことはテンプレートを見難くし、既存のツールでは編集し辛くなります。また約束事が難しすぎてデザイナの負担となっています。プログラマとデザイナを合せた作業量は減らないかむしろ多くなっています。プログラマがすべきしごとがデザイナ側にまわされ、プログラマとデザイナの作業分担があいまいになっています。
このような問題を解決するために提案されたのが minimal-template である。minimalとは最小限です。minimal-template は最小限の規約のみでテンプレートを作るものです。最小限の規約のみで作られるためデザイナの作業負担も少なく、作られるテンプレートも煩雑になりません。また制約も少なく自由な表現を可能にし、デザインとデータも完全に分離できるようになっています。また minimal-template を用いるとデザインの再利用や部品化も行えるようになります。このことが minimal-template のもう1つの大きな目的です。
minimal-template project
minimal-templateのプロジェクトは利用プロセスに応じて4つのPhase(段階)に分かれています。
Phase-1 テンプレート仕様
このPhaseはテンプレートの仕様を明確にします。minimal-templateを利用する全ての人に有用です。テンプレート仕様書はテンプレートの書き方を規定するものです。テンプレート仕様そのものは使用目的やプログラム言語に依存するものではありません。開発者はこの仕様書に従ってテンプレートを用いたシステムを開発することができます。またデザイナはこの仕様書だけでテンプレートを作成することができます。
Phase-2 テンプレートエンジン
このPhaseは開発者向けのものです。テンプレートはWebページの発行、メール送付、マュアル作成などの目的で使用され、コンピュータで処理され目的のテキストを生成します。このようなコンピュータ処理の中で特にテンプレートを処理する部分をテンプレートエンジンと呼びます。 minimal-templateのテンプレート仕様を満たすテンプレートエンジンはjava、C#、php、perlなどの任意プログラム言語で開発することができます。ここではminimal-templateのテンプレート仕様を満たす.NET Framework用のテンプレートエンジンを提供します。これは C# で作られた DLL です。.NET Framework C++,C#,VBより簡単に利用することができます。サーバーおよびスタンドアロンのいずれのプログラムでも利用可能です。
Phase-3 テンプレートスタジオ
このPhaseはWebページの作成および保守を効率的に行いたい人向けのものです。 .NET Framework用のテンプレートエンジンを利用したスタンドアロン型のアプリケーションです。テンプレートを利用して簡単にWebサイトを作成し、データを入力するだけでページの更新とWeb発行ができます。 minimal-templateの応用例として開発していますので、minimal-templateで何ができるかを知るのにもお勧めです。
Phase-4 テンプレート集
このPhaseはデザインが苦手な人のためのものです。デザインの得意な方からテンプレートスタジオ用の有用なテンプレートを募集します。たとえば トップページ用テンプレート フォトアルバム用テンプレート マニュアル作成用テンプレート 等....