タイトル
PHPフレームワーク4本勝負!! - connpass (2015.8.5)
会場
hitomedia"the p@rk"
港区元麻布3-1-35 A棟 B2
今回は、今話題の「Laravel」を含む 4大 PHPフレームワークのメリット・デメリットや採用理由などをフレームワークを業務で使用している各社がプレゼンする、という大変興味深いイベントでした。
- Laravel
- CakePHP
- Yii
- Symfony
プレゼンに含まれなかった「CodeIgniter」「FuelPHP」「Zend Framework」などの有名フレームワークは、たまたま使っている会社が集まらなかったということでしょうか。まあ、仕方ないですよね。
各フレームワークのざっとした印象はこんな感じでしょうか。
Laravel | コードが読みやすく書きやすい人気急上昇中のフレームワーク |
CakePHP | Rails流の高速開発が可能なフレームワーク |
Yii | 高性能、コンポーネントベースのフレームワーク |
Symfony | MVCフレームワークの古株 |
参考
- PHPフレームワーク比較 現在 | 既にプログラマー
- PHP framework – The Best PHP Framework for 2015
- 2015年最新PHPフレームワーク(9つ)のベンチマーク — A Day in Serenity (Reloaded) — PHP, FuelPHP, Linux or something
今回の発表では、「Laravel」が一番気になりました。
Google Trend でも 2015年以降はダントツのトップ人気のようですし。
「Laravelエキスパート養成読本」は、現時点でおそらく唯一の日本語 Laravel 本です。
(2015年10月16日追記)
少し先ですが、本格的な Laravel 本が出るみたいですね。これは期待!
1. Laravelを選んだ理由
友菊 敬太氏(株式会社インタースペース)
- Webサイトは、Laravel4 と Laravel5 を採用
- ただし、Grouta のAPI開発は CodeIgniterを採用(初回起動でメモリを一番使わないので)
- Symfony, CakePHP 以外が使いたい、でも管理画面のジェネレーターもほしい
- CodeIgniter, FuelPHP も候補に
- レイアウト出力方法
- Laravel は Controller がすっきり掛ける
- ルーティングの書き方がよい
- 他の良いところ
- Eloquent の QueryBuilder で JOIN とかも自在に書ける
- パッケージが充実!
- 選定期間は30分
- これまでで困ったことはない
- Optimizeという機能を使うと、パフォーマンスが一段階上がる??
- バージョン4 と 5 で結構違う。移行しようとは考えていない
- テストの書きやすさもメリット?
2. CakePHPを使ってます
長屋 洋介氏(株式会社うるる)
- クラウドワーク「シュフティ」
- 2008年から使用
- 採用理由は、流行っている、軽快簡単、ドキュメント豊富
- 仕組みがシンプルで覚えやすいので、新たにJOINした人が分かりやすい
- コミュニティが活発だったのも理由の一つ
- プルリク単位でDockerでデプロイ。最近のヒット
- phinx
- デプロイ自動化に、whenever導入
- componentで共通機能を外出し
- 辛いところ。。
- 下位互換が弱い。バージョンアップしたときに、メリット < 工数
- Model fat
- viewの切り離しが今後の目標
- 管理画面は Bakeで
- 生のSQLを書きたくなっちゃう??
- 基本的にはビルトインのものを使うが、結局、メンテナブルかどうかがポイント
- フレームワークとしてはたいして早くない部類
- New Relicを導入すれば、ブラウザ上でボトルネックを表示することができるので便利
3. 弁護士ドットコム with Yii framework
市橋 立氏(弁護士ドットコム株式会社)
- 4つの中で一番マイナー?
- 特徴
- Yii=Yes, it is! 何でもできるよ!
- 高速(CodeIgniterよりも速い?ただし、DB接続やセッション管理なしの条件では)
- 低オーバーヘッド
- 旧共産圏で人気?
- ロシアや中国語で検索が引っ掛かることも多い。オフショア開発向き?
- Yii はほどほどに速く、低オーバーヘッド
- MVCから外れた拡張も用意
- 善し悪しあるが(カオスになりやすい?)、自由度が高い
- 方針として、配列じゃなくて文字列で何でも処理しちゃう?傾向がある
- Fat Controller になりがち??
- 最終的には「好み」で選定
4) Web Application with Symfony2 + Silex
井村 元宗氏(株式会社ヒトメディア)
- 大学出願サイト「applyjapan」
- パッケージではない。大学ごとにカスタマイズが発生
- Symfony2 いいところ
- 疎結合の柔軟さ ⇔ Railsは密結合
- LTSがあるなど、サポート体制がしっかりしている
- コンポーネント単位での使用も可
- Symfony2 の悪いところ
- 学習コストが高い(Form, SecurityはSymfonyの2大難解コンポーネント)
- やや遅い
- エンジニアが少ない
- Silexのいいところ
- Micro framework (inspired by sinatra)
- 学習コストが低い
- 割り切ってオレオレ実装もできる
- Silexの悪いところ
- Symfonyのエコシステムに乗っかりきれない
- Symfonyに比べるといろいろ足りないので自前で実装