先週の木曜に、San Francisco に来ていた Ingy が IM で "Do you have a time to hack today? I have a pretty neat project we could hack on." てなメッセージをくれたのでちょっとだけハックしてたのが Jemplate。実際には時間がなくてアイデアを練るだけで終わってしまいましたが、Ingy は作業を続けて今日 CPAN に最初のバージョンがリリースされたみたいです(まだ [% foo %] とか FOREACH, IF ぐらいしかできないですが)。
JavaScript の Template にもいろいろあって、prototype.js の最新版には簡単な Template.js コードがついているようだし、ほかにもいろいろとありますね。Six Apart でも一時期 TT2 のコンパイラバックエンド(TT はデフォルトでテンプレートを Perl コードにコンパイルするバックエンドが動いていて、これを他の言語・フォーマットに切り替えることができます)を作ろうという話があったんですが、なかなかしんどそうで今は pure JavaScript なテンプレートエンジンに向かっています。これは LJ で使っている Tag AutoComplete なスクリプトと同様に、BSD / MIT 的ライセンスでそのうちリリースされるかも。
ってなわけで Jemplate ですが、サーバサイドにおいたテンプレートファイルを1枚の .js にコンパイルしてくれるというもの。JSON と組み合わせてデータをサーバからとってきて Jemplate.process すればいいというなかなか楽しい仕組みです。
さっそくというか Catalyst::View::Jemplate をつくってみました。これと Catalyst::View::JSON を組み合わせて Catalyst とデータをやりとりさせるのはカンタンにできますね。まだ Jemplate でできることが少ないのでいろいろ先は長そうですが。
そんな Ingy ですが YAPC::Asia で来日がきまっています。Lightning Talk で Jemplate どう? といったら早速 OK な返事が。楽しみです。チケットは昨日から発売されてますのでお早めにどうぞ!
livedoor 天気情報、気象データ配信「Weather Hacks」を開始 ~約2千種類のRSSを配信
http://weather.livedoor.com/weather_hacks/
おもしろいですね。なにがHackできるんだ?