Strutsを使ったフレームワーク(共通基盤。APアーキテクチャとプロセスとライブラリ群)よりも、
S2JSFを使ったフレームワークの方が、作り難いな、と思うことがあります。
コンポーネントツリーがセッションにいるから、、、なんて嘆いても、せん無きこと。
他にも、素のリクエストが見えにくいとか、ライフサイクルがあるせいで、
使い難いと思うことがあります。
時々、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の「素直でないトコロ」が引っかかるんですよね。