November 18, 2004
フレームワークって、いろんな意味で難しいですね。
すごく最近困った事態があって、Strutsを使ったプロジェクトでトラブルが起きたんですが、Javaを書かない人ほど、Strutsが悪の元凶とか言い出すわけですよ。実際は、Strutsを使いこなせない人間様の方に問題があるだけなのに。普通にServletもフレームワークも興味ある立場からすると、きっと普通にServletで書いてたって失敗したんだろうなぁとしか思えないわけですが。
設計パターンとしてStrutsの形にあわせられなかっただけだし、とっととStrutsを捨てる判断もできなかった。どっちにしろ想像力不足。チーム構成かもしれないけど。
おかげで今後、社内でStrutsを使うには、不要な壁を取り除いていかねばならないわけです。まぁ僕はもともとStrutsには興味もメリットも感じず、画面フローもきっちり決まってる普通のWebサイト作るだけなら、何が楽しいのかあまり理解できない人なんですが、これが業界標準の枠組みになるというのなら、それに従ってもいいかなとかとは思ってるぐらいの感情です。
とはいえ誤解というか、人間様の不都合で、いらぬ制約を受けるのはイヤなので、一応フラットな感情でいたいんですよ。Servletに比べて一定の品質のボトムアップは狙えるわけでしょうし。Hybernateとの組み合わせが今後良さそうだし。
でも、これだけ情報が豊富なStrutsでさえもダメなケースってあるんだなぁと言うのを強く印象づけられました。それじゃソースコードベースで、フレームワークを理解しろと言っても難しいよなぁ。でも、オブジェクト指向プログラミングは、いかに「先人の知恵を理解して流用、活用するか」だと思うんですけどね。
しかし現実的に、それが望めない以上は、とにかく「フレームワークは、使う人の柔軟性が強く求められます」と言うしかない。
フレームワークは、頼るものではなく、活用するものですからね。フレームワークに負ける組織は、フレームワークを使う資格はないわけで。
まぁそういう基準で語るなら、Strutsが悪いと言い切るのは悪くもないか。とんだとばっちりだな。やっぱり。