Velocity2Jsというアプリケーションをご存知だろうか。Velocity2JsはJavaおよびJavaScriptを使って開発されたアプリケーションで、Apache VelocityテンプレートファイルをJavaScriptの関数に変換することができるツールだ。Antタスクとしてテンプレートコンパイル処理を統合できるので、既存のAntビルドプロセスにそのまま統合できるという特徴もある。
Apache Velocityテンプレートを使う場合、動的に使うにしても静的に使うにしてもJavaを使ってテンプレートからHTMLを生成する必要がある。それと比べて現在注目されているAjaxのアプローチは、大まかに言えばJavaScriptフレームワークを使ってHTMLコードに直接JavaScriptのコードを記述していくというものになる。
Apache Velocityテンプレートを使う場合、Javaを使っていったんテンプレートを処理しなければならないという欠点がある反面、テンプレートという形で情報を整理しておけるという利点がある。一方、JavaScript Ajaxフレームワークを使ってゴリゴリ開発する方法では、実装結果をすぐに試せるが、HTML+JavaScriptという構成になりがちなので可読性が低くなりやすいという問題もある。
Velocity2Jsを使うと、Apache Velocityテンプレートという形でデータを整理でき、かつJavaScriptを使ったアジャイルな実装が可能になる。すなわち、双方のメリットを享受することができるわけだ。動的に動作させる場合も、サーバ側にテンプレートを処理するアプリケーションを用意する必要がなく、JavaScriptが動作するWebブラウザであればそのまま利用できる。デプロイを単純化するという目的でも活用可能だ。
JavaScriptだけで動的に動作するWebサイトを開発するにあたってApache Velocityテンプレートが使えるという点でVelocity2Jsは興味深い。気になる方はこれを機に調査してみてほしい。