システム開発でフレームワークを使うメリット【個人開発でも使ったほうがいい理由】

僕はいままで1人で開発してきたので、フレームワークを使ってきませんでした。
しかし、いまはチームで開発することもでてきたため、Laravelというフレームワークで
開発をすることもあります。
結果、実際に使ってみてどうだったのか、まとめたいと思います。
これからフレームワークを使おうかどうか検討している人の参考になればうれしいです。
目次
そもそも、フレームワークとは
システム開発において、あらかじめよく使われるような機能をあらかじめ兼ね備えたファイル群のこと。同じような機能を一から作らなくていいので、車輪の再発明をしなくて済みます。
例えば
- メール送信
- ログイン認証
- ファイルアップロード
- データベースの操作
などなど、どのシステムでも汎用的に使う機能は多いですよね。
メジャーなフレームワークを使わずとも、自分でライブラリを作って使いまわしていることはあるんじゃないでしょうか。
PHPのフレームワークはたくさんある
有名なライブラリは以下のとおり。
- Laravel
- CakePHP
- Symfony
- ZendFramework
- FuelPHP
…本当にたくさんあります。最近ではLaravelが大人気。まわりのエンジニアに聞いたらほとんどLaravel触ってました。
コード量が減ってスッキリ!
勉強しだして、なぜこれを早く勉強していなかったのか!ということに気づいて後悔。
まず、コード量が減りました。
コードが減ると見通しもよくなるので、メンテナンス性も高くなります。
フレームワークを使うことの主なメリットは
- MVCにより、役割を分担させることで、コードが簡潔に書ける
- ルールが決まっているので、チーム開発に向いている
- ORMも入っているので、SQLも完結になる
- エスケープなど、セキュリティ対策も最初から含まれている
など、よく使うようなシーン・機能は盛り込まれていることが多いので、シンプルなコードでより多くのことができるようになります。
そして、このようなコードは書いていて気持ちがいいものです。
自分が書いた古いコードをみると徹底的に書き直したくなります。
たったひとつのデメリットはルールを覚えるのが面倒だということ。
それぞれのフレームワークでお作法があります。
それらを覚えるのが最初は学習コストかかりますね。
ただ覚えてしまえば、開発効率はあがります。1人で開発するときも必須ですね。
プログラムは積み重ねで進化している
プログラムの歴史は長く、さまざまな言語がありますが、プログラマーが日々考え、進化し続けています。より短いコードでより多くのことを実現するために。だからこそ、生産性を上げていく意味でも、新しい技術を学び続けることは大事だなと思います。
なるべく、余白の時間を多く作って、学びの時間をうみだしたい。勉強する時間をつくっても、なかなか身につかないので、実践で新しい技術を学びながら検証しながら、少しづつ自分のものにしていくのがいいですね。
まわりをみても、日々勉強しているプログラマーは引き出しが多いです。
いろんなことに手をだして試しているので、実現するためのパターンを数多くもっているイメージ。ぼく自身も10分探して考えて、方向性がまったくわからない時には迷わずまわりに聞くようにしています。
SHARE
スキルアップにMENTA
MENTAはいろんなプロに相談できるNo1メンターサービスです。
YouTubeでも発信中!
PROFILE

あらゆるスキルが学べるパーソナルメンターサービスMENTAの代表/個人開発が好きでこれまでに30個ほどのWEBサービスやアプリを作ってきました/福岡のWEB制作会社勤務→フリーランスエンジニア→法人立ち上げ→M&A億単位の売却を経験。 (詳しいプロフィール)