質問: お恥ずかしい話しなのですが、今までマトモにチーム開発に従事した経験がありません。それ故なのかもしれませんが、フレームワークの利便性がイマイチ理解できません。 フレームワークの利便性を理解するために、個人的に一人でフレームワークを使って開発を試してみました。使用したフレームワークはDjango(python),fuelphp(php),larave(php),express(node.js)などです。フレームワークに関して調べると、どれも結局MVCがどうのこうのという説明の元「開発スピードが向上する」「バグが減る」「書き方が統一される」など色々メリットが書いてあります。 そして実際に、上記のフレームワーク達はそのような仕組みが内部に存在していました。しかし、モデルとビューと、コントローラーを分けけたところで、そんなに便利でしょうか。確かに、便利は便利なのかもしれませんが、フレームワークの利便性の根幹はそれのみなのでしょうか。 開発環境を揃える方法や、dbを操作する方法を初めから知っていた場合、最初からそっちを使った方が早いとすら思ってしまいます。こんな風に考えてしまうのは、おそらくチーム開発の経験が極端に少なく、様々な人がフレームワークありで進めてきたプロジェクトに後から参加したりしたことがないのが原因でしょうか。 確かに、以前、フレームワークなしで長年推し進められてきたウェブサービスを一人で抱え込んだとき、その中身に散らかりっぷりに戸惑った経験があります。フレームワークを知っていると、このようなことがなくなり、メンテが楽になるのでしょうか。そうであれば、フレームワークは比較的中規模なプロジェクト、もしくは自分以外のエンジニアが引き続き改修していく予定が初めからあるプロジェクトになって初めて威力を発揮するもので、フレームワークの利便性を感じることができるのは、チームプロジェクトの中のみということになりますか。 テスト環境と本番環境をコード書き換えで簡単に行ったり、フレームワーク内でできるのは、使いこなせれば、便利なのかもしれません。。 https://qiita.com/qwe001/items/96a83fadcfaeb3cd4a6e 経験談で構いませんので、色々お話しをお聞かせいただければ幸いです。
回答: 結局、下記の文章を読んで納得することにしました PHP軽量FrameworkのSlim3 ``` フルスタックフレームワークはフレームワークとしてのRequestやResponse処理の実装はもちろんのこと、Auth認証やSession管理といったところや他色々なWebの実装で必要な機能をもともと用意してくれている。 なので、必要とするコンポーネント部品をフレームワーク利用者が作らなくても実装できる。 また、デザインパターンもMVCモデルを採用しているフレームワークが多く、Viewとモデルを分割できるので、拡張性が高く、バグも入りにくくなる。 また、LaravelではViewコンポーザなどを利用してViewの中にビジネスロジックを含まない実装が可能になっている。 ```