Strutsの嫌がられてるところ

を改善すればいいものができあがるかなぁ.世の中Strutsで機能的にはStrutsで足りてるということだろうから,面倒だと思われる部分が解決すればそれだけで一応はいいのか.

たぶんみんな嫌いなのは

  • XMLとの行き来で思考が途切れて開発効率が非常に悪い.XML等に頼るとプラグインによるサポートがないと開発効率が悪すぎ
  • エラーメッセージが意味不明になりがちでデバッグに時間がかかる
  • カスタムタグでhtmlを生成するのが気に入らない.カスタムタグは制御のみに使うべき
  • DIとか普及してきているこの時代にシングルトン前提は相性が悪い
  • フォームのプロパティがStringだらけになってるところが多い.Stringだけでいいのならrequestからパラメータ取り出すのとあんまかわらん

だから企業はStrutsのラッパフレームワークが大量にあると.上記問題が少しでも解決していればいいのだけれども実際は余計負担が増えている例も珍しくない感じ.requestとresponse隠してないからラッピングはしやすいよね.Struts1.3はいじりやすいタイミングが増えてるようだから各自いろいろとやってくれという意識はあると思う.単体テストもしやすくしてるし,1.3の方向は悪くないと思う.


思ったけどStrutsって学習コスト決して少なくはないね.Java言語をしっかりと覚えているという人にとってはたぶんSpringMVCやJSFより覚えることは多いかな.逆に他人のソースを見ながらコピペで作れるとかうわべだけの人はStrutsのほうがいいのかもしれない.


SpringMVCも登場自機が古いのでわりと問題点は多くて,シングルトンであることをStruts以上に激しく強調されるおかげでスコープを持ったオブジェクトとのやり取りが大変.2.5になってアノテーション多用でいろんなところが楽になったけど,さらにシングルトンであることを意識させられることになった.この方向での拡張は限界って感じでさらに上にかぶせないと正直かなりつらい.ただ,POST-REDIRECT-GETパターンを勉強する入門にはいいかもしれない.表示はすべてGETというのはわかりやすいと思う.シンプルだからこそ勉強用には一番向くかも.


両者のよくないところをあわせもつフレームワーク・・・ってやっぱりないなぁ.WicketはSwingのようにコードでGUIを生成してくれるのならかなりよかったけれども.Railsがうけてるのってデザイナとの分離ではなく,技術者にとっていいものという方向性に特化してるから気持ちよく開発できるってことだと思うし.実際業務アプリケーションは技術者が画面作ってることのほうが多いよね.