POHP戦国時代到来!?
最近では,POJO(Plain Old Java Object)と同じように,POHP(Plain Old HTML Page)というキーワードが言われるようになった。これは,ASPやJSPなどの,独自タグやスクリプトレットの記述による複雑怪奇になりやすいViewコンポーネントを見直し,普通のHTMLで作ればいいじゃん,という考えから出てきた言葉である。
現在のPOHP対応のソリューションのほとんどは,通常のHTMLの各要素が持つid属性を利用したものだ。HTMLの要素を動的に解析し,特定のid属性の要素の内容を入れ替えることによって,動的な内容をHTML内に組み込むという動作になる。
今のところ僕が把握しているPOHPのソリューションは,以下のようなものがある( 12/9追記しました)。
-
Nirvana - POHPからJSF対応のJSPに動的変換する
-
S2JSF - JSFのコンポーネントツリーをPOHPにマッピング
-
Mayaa - POHPだけどJSPカスタムタグも書ける
-
Tapestry - WebアプリケーションフレームワークでPOHPの老舗
-
Wicket - SwingちっくなコーディングでPOHPを実現
-
facelets - バックエンドにJSFを使った,TapestryちっくなWebフレームワーク
-
Struts Shale Clay Plug-in - Shale+Clay Plug-in+jsfid属性でPOHPを実現
この中でも注目しているのは,Wicketである。そもそもWicketを立ち上げたのが,Swingの開発メンバー(Jonathan Locke氏)というところが,かなり素敵だ。HTML的には, ここは動的
というPOHPになるのだが,Javaコードの方は,例えば, Label label = new Label(“test”, “ほげほげ”); Panel panel = new Panel(“test-panel”); panel.add(label);
って感じになる。SwingでGUIアプリケーションを書いたことのある人なら,間違いなく「おぉぉ!」って思うだろう。僕も思った。
今は「POHP戦国時代の幕開け」って感じで,役者がやっと揃ったかな,という状態だ。今後,どれが生き残っていくのか,注目である。
ちなみに,僕としてはWicketを応援したい。