Jemplate登場によるMVCアーキテクチャ進化の可能性

2005年はAjaxが流行ました。AjaxによってWebアプリケーションの操作性が劇的によくなりました。しかしその一方で、Ajaxの登場によってWebアプリケーションのアーキテクチャに歪みが生じました。サーバーサイドのコードはMVCアーキテクチャによって綺麗に各層で役割分担ができていますが、クライアントサイドにおいてはそうではありません。現在多くのAjaxベースのアプリケーションでは、JavaScriptコードの中にロジックとHTMLコードを混在させるやり方でAjaxを実現しているため(恐らく)、メンテナンス性の低下を招いています。

そこで今回はこの問題を解決する新たな動きが最近見えてきたので紹介します。そして、新たに登場したJemplateによるMVCアーキテクチャの進化の可能性について考えてみます。

GoodPicの金子さんの予想

以前、GoodPicの金子さんが書かれた以下のエントリを読んで、なるほどと思いました。これからはMVCフレームワークはサーバサイドだけでなく、クライアントサイドにも出てきて、サーバーサイドとクライアントサイドで協調するだろうと。かなりの確率でその線で技術が進みそうな予感がしました。

Jemplate

最近、Jemplateが一部の技術者の間で注目されています。Jemplateを使えばAjaxなコードに含まれるロジックとビューの分離ができるようになるという代物です。詳しい解説は、id:miyagawaさんとid:naoyaさんのエントリを参照して下さい。

予想: 2006年のWebアプリケーションのMVCアーキテクチャ

私も金子さんが予想された世界に今年くらいになりそうな気がしています。金子さんが描かれた図をベースにしつつ、今自分が理解している範囲で図にしてみました。これまで今ひとつJSONの使い道が見えていませんでしたが、Jemplate + JSON の組み合わせなら納得です。