Tapestry はどこへ?
「Tapestory」は、Apple社のWebObjectsフレームワーク(WOF)に強い影響を受けて開発された、コンポーネントベースのWebアプリケーションフレームワークです。
個人的には、「Tapestory」こそがポスト「Struts」の最有力候補であると考えていました。
しかし、次々と新しいフレームワークが登場しているため、僕自身の中でも「Tapestory」が最有力であると言えない状況になりつつあります。「Google
Web Toolkit」や「Flex」といった「Tapestory」とは全くタイプの異なるフレームワークだけでなく、「Facelets」や「S2JSF」あるいは「Wicket」といった「Tapestory」とかなり似たタイプのフレームワークも登場してますよね。
「Facelets」や「S2JSF」が「Tapestory」と最も大きく異なる点は、「JSF」をベースとしている点です。「JSF」は、何と言ってもJava標準仕様のフレームワークですから、確かに大きな強みとなるでしょう。
一方、「Wicket」の方は、「Ruby
on Rails」以降に広まってきた"制約が自由をもたらす"という考え方をベースに開発されており、web.xml以外の設定ファイルを排除することに成功しています。
こうした状況の中、「Tapestory」も「Tapestory4」へと進化を図っています。
最も大きな変更点は、アノテーションを実現するためにDI/AOP対応の軽量コンテナ「HiveMind」との融合を進めている点でしょう。
しかしながら、この「HiveMind」との融合が、「Tapestory」にとって本当に望ましいものであるのかは多少疑問が残ります。仮に特定の軽量コンテナとの結びつきを強めるのであれば、現在最も大きな支持を得ている「Spring
Framework」と連携した方が有利なのではないでしょうか?
「Tapestory」の開発者自身が「HiveMind」の開発にも携わっているということなので、他の軽量コンテナとの連携では得られない+αも期待できるのでしょうが、「Tapestory」独自のコンポーネントの他に(どちらかと言えばマイナーな)「HiveMind」の知識も必要だというのは少々負担が大きいような気がします。