JunkieホームフレームワークPHPフレームワークの選び方2019/06/15SHAREツイートシェアはてブGoogle+PocketLINEこんにちはーむちょこです。新規プロダクトを開発するとき、どのフレームワークで作ろうか迷いますよね。今回はトレンドを軸にフレームワークを選ぶ方が多い理由と、トレンド以外の視点についてもお伝えできたらと思います。よかったらお付き合いください:)目次トレンド規約の厳しさ機能・対応プラグイン学習コストトレンドフレームワークの話になると、よく挙がるのが「今のトレンドは~」という話題ですが、これにはいくつか理由があります。学習コストが低いまずそもそもの話として、ある程度ドキュメントが充実していて学習コストが低いことが流行りの大きな要因の1つになっています。参入者が増えると発信者も増えるので、学習コストがより低くなっていきます。このような循環が起こるので、トレンドの技術は総じて学習コストが低い傾向にあります。熟練者が少ないチームではダイレクトに開発スピードに関わってくるので、学習コストの低さは大事です!仕事に困らない技術者目線では、トレンドの技術を学んでおくと今~数年後まで仕事に困らないという利点があります。数年先まで絶頂期に作られた大量のプロダクトの保守や改修の需要が見込めます。事実、10年以上前に大流行したCakePHPの保守・改修案件は未だに存在しています。人手に困らない逆に経営者目線でも、トレンドの技術は技術者が集まりやすく、数年経ってもその技術を扱える人が見つかりやすいという利点があります。あまりにマイナーな技術や独自路線に走りすぎると、人手が見つからず費用が高騰する可能性があるので避けたいところです。現在のトレンド以上がトレンドが重要視される大きな理由です。はずれを引きにくいので、迷ったらとりあえずトレンドのフレームワークを採用するのもアリだと思います。トレンドで選ぶなら、今はLaravel一択です。国内の人気の高さはこの通り。Trends規約の厳しさ選択するときの他の要素として、規約の厳しさも気になります。プロダクトや開発チームの事情に合わせて適切な自由度のフレームワークを選択することで、可読性・メンテナンス性あるいはカスタマイズのしやすさを上げることができます。規約が厳しいフレームワーク例えば、テックリードが不足しているチームでは、代わりに規約の厳しいフレームワークを選択することで一定以上の可読性や品質を保つことができます。開発後、別の人物に保守業務を引き継ぐ場合も、元々規約が厳しいフレームワークを使っていれば敢えて規約について詳しいドキュメントを残す必要はありません。規約の厳しいフレームワークの代表例としては、CakePHPが挙げられます。いう考え方に賛成です。https://book.cakephp.org/3.0/ja/intro/conventions.htmlと言っているように、規約をとても大切にしているフレームワークです。独自性が強いプロダクトやチームにむいています。Frameworkがあります。Frameworkは大規模開発に向いています。Laravelもカスタマイズ性が高めなので、トレンドのメリットも取るならLaravelも良いでしょう。機能・対応プラグイン作りたい機能が特殊なものでなければ、既に他の人が似たような機能を用意してくれている可能性があります。工数をグッと削減できて、その分他に時間をかけることも可能なので、既にあるものを活用できるフレームワークを選ぶのも手です。Laravelの認証機能)、そうでなくてもフレームワークに対応しているプラグインやパッケージが公開されていることがあるので、GitHubやpakagistで検索してみるのも良いと思います(ライセンスにはご注意ください)。学習コストトレンドのところでも触れましたが、学習コストが低いのは何もトレンドの技術だけではありません。ドキュメントが充実しているフレームワークは他にもありますし、教えてくれる先輩がいる場合もあるかもしれません。なにより、既に学習済みのフレームワークであればバージョンの差分を確認する程度の最低限のコストで済ませることができます。納期が短くすぐに取り掛からなくてはいけない、当然ある程度の品質は必要、という場合は可能な限り学習コストを抑えるための判断を下すことも必要です。初心者歓迎の優しいサロンです。前の記事Socialiteで連携したSNSのプロフィールリンクを貼る方...次の記事Artisanコマンドの自作方法とテストコードむちょことことん自由に働くwebエンジニア。フルリモート専門で10年くらいやってます。web系フリーランス集団«ラシュリエLLP»代表。https://lachelier.com/#contact\Twitterやってます/PHP以外の記事はこちら0からのweb開発手順はじめてのMySQL運営サービスcommew現役フリーランスやフリーランスを目指す方のためのオンラインサロンです。