フレームワークって大きすぎ?
スラッシュドット ジャパン | フレームワークを使っての開発は、オレってばスゲー感が少ない?
を読んでて思ったこと。
刺激的なタイトルは置いといて。
フレームワークってどうなんだろう?という点について書きます。
ror以降、PHPのフレームワークは
cakephp、symfony、ethna とフルスタックが
全盛ですが、どうも慣れないんですよね。
フレームワークを使う利点って、
*一定のルール*に従って、プログラミングすることで開発効率を最大限に引き出せる。
ことだと思うのです。
で、今のフレームワークがそれを達成できているかどうか?
は置いておいて。(そこが一番重要だろ!って話もありますが、
そんな銀の弾丸なものは無いという話もあったり)
その前段階として、今のフレームワークは私にとって
大きすぎると感じてます。
ドキュメントや、フレームワーク自身のスクリプト読んだり
すれば、何やってるかはある程度わかりますけど、何か
違和感が残るんです。例えてみるなら
- ブラックボックスになりきれてない中途半端感
- クラスとクラスのかかわりが昔のgotoスパゲッティに類似
などなど見えてしまうのです。
私がフレームワークつかってると、次のことがわかりにくいことに
フラストレーションが溜まってきます。
- 入力→処理→出力 の連鎖
- 部品化、疎結合
もう少し説明してみると。
- ルール(制約ともいう)が多すぎるのでは?(命名ルールで動作が決まることに馴染めない)
- 自動で行われることが多すぎるのでは?(なぜそうなるかが直感的にわからない)
ずばり言ってしまうと
- そもそもやらなければならないことを過度に隠蔽しすぎ!
と思えてなりません。
今のメジャーなフレームワークって、
『ルールに沿っていれば楽できる方式』なんですよね。
私的には『楽はしたいけど、ルールに沿おうが沿うまいが、やるべきことは必ず記述する方式』
の方が安心感があるんですけど。
個人的には、あまり大きなWebアプリを組まないので
なおさら、大きなフレームワークは避けてしまいがちです。
Codeigniter みたいに小さいのとか
Zend Framework みたいにクラスの関係が疎結合なのは
私好みなんですけどね。
私が古い思考に縛られすぎなのかなー
時代についていけてないってことなのかなー
それとも、*慣れ*っていう要素が圧倒的に強いんだろうか?