谷本 心 in せろ部屋

はてなダイアリーから引っ越してきました

やっぱStruts様はエラい。

Strutsを使ったフレームワーク(共通基盤。APアーキテクチャとプロセスとライブラリ群)よりも、
S2JSFを使ったフレームワークの方が、作り難いな、と思うことがあります。


理由は、S2JSFJSF)が素直じゃないから。


コンポーネントツリーがセッションにいるから、、、なんて嘆いても、せん無きこと。
他にも、素のリクエストが見えにくいとか、ライフサイクルがあるせいで、
使い難いと思うことがあります。


時々、JSFのコンバータに頼るよりも、
RequestをMap<String, String>か、Map<String, String[]>で受け取れて、
自前でDtoに変換できる(Dxoを提供する)方が、随分とありがたいんじゃないか、って思います。


時々、JSFのバリデータに頼るよりも、
全部Stringで構成されたDtoを作って、それを自前のValidatorで検証できる方が、
随分と楽なんじゃないか、って思います。


当然、「だったらStruts使えよ」って流れになります。


Webの常識に従った「Request = 文字列」が前提の開発なら、
JSFを使うよりも、Strutsを使ってる方が楽なことも多いでしょう。
Web開発者の頭にあるイメージそのままでしょうから。
特に、自分がFWを開発する側になると、それを感じることが多いです。


さて、少し話は変わりますが、
Teedaでは、ドロップダウンリストで選択した「値」と「ラベル」の両方を
次の画面に送るための機能があると、id:szk-takanoriさんから聞きました。


これはキモい!
数年来、Perl/CGIでWebやってきた人間にとっては、ほんとキモい!
そんな、JavaScriptでラベルを渡すなんて、Webの常識外でしょう!!


なのですが、
実は、それこそが、FWに求められてる所なのかな、と思うわけです。


旧来のWebの常識の中で生まれた育ったのがStrutsだとしたら、
その常識に捉われない、「こう使いたい」「こうなって欲しい」という
夢が溢れるような使い方をできるFWこそ、いま作るべきものでしょう。


そういうものを作りたい時に、
JSFの「素直でないトコロ」が引っかかるんですよね。


だから、Teeda + S2JSF - JSFっていう考えが出てきたのかな、と思います。