laravel雑感

DBアプリっぽいものをササっと作りたいケースに備えて、自分なりに定番ツールと言うか、「制式フレームワーク」みたいなのを決め打ちしたくなった。

何しろ、色々なシステム覚えるのは大変だし、自分の対応能力だって限界がある。

一応、今まではCakePHPがそういう役割だった。何しろスケルトンが簡単に出来上がっちゃうし、比較的構造は素直だし(と言ってもバージョン2の話)
しかし、最初の取っ掛かりは良いけど、サクサク組んでいく感覚があまりない。規約のせいなのか、何なのか良く分からないがスッキリしない。

これがCodeIgnitorだとそういう感覚が全くない。仕様が直感的に類推できる部分が多く、スイスイ組んで行ける。しかし機能的には弱くて、結局DIY精神を発揮して色々自分で実装する必要が出てくる。逆に言えばDIY精神を引き起こしてくれるFWなのかも。

この両者の良いところどりで、なおかつリソースが豊富なFWがあれば、と思ってLaravelに白羽の矢を立てた。
とにかくやたらとシェアを伸ばしているらしい。

簡単なテスト・アプリを作ってみての雑感だが、

◯なところ

  • やや複雑だが、色々と理にかなってる感じ。「色々気をつかってこうなったんだ」みたいな
  • 逆にシンプルな部分はそうあるべくシンプルになっている
  • とりあえず難しい概念は後回しにして、基本的な機能だけでもアプリが作れる。この部分はCI的な感覚で行けちゃう
  • ドキュメントはちゃんとしてる(これ重要)日本語版も完備。Cakeはあれだけ日本で普及しているのに英語版しかないページも多かった
  • Authの実装が超親切(5.2以上)プラグイン不要
  • ページングの実装が信じられないくらい楽
  • Bootstrapとの相性が良い⇨頼り過ぎに注意

✖なところ

  • 結構複雑で面倒臭い。特に依存性注入(DI)とか最初は訳が分からなかった(今でも大して分かってない)。MVC以外に覚えないといけない概念が色々ある
  • 結構学習コスト高い!これは予想外
  • ファイルの置き場があちこちに分かれてて面倒。AppとかHttpとかResourcesとかPublicとか良く迷う
  • バージョンが0.1違うだけでメソッドとかガラッと変わっちゃうのは閉口した。資料を漁る時は要バージョン確認。特に5.1、5.2、 5.3はやばいと思う

総論としては、利点が欠点をはるかに上回っていて、かなり有力な制式採用候補になった。

特にAuthとページングという二大苦痛を解決してくれているのは中々親切設計だし、非常に実戦的なFWだなと思った。

また標準ではないが、CakeのScaffoldみたいなエクステンションもあるらしい。つまり認証と管理画面CRUDがある状態からプロジェクトをスタートできる。こう言うのって勉強にならないとか色々な批判も出てきて当然だけど、そういうFWのあり方ってあっても良いと思う。

今までちょっとした検索系のWEBを構築する場合、どうしてもWordpressで出来ないか、というのが先にあって、これはこれで悪くはないんだけれど、さすがにお客さんには押し付けられないし、セキュリティと動作速度の不安もある。管理画面の作成も面倒だ。
何よりも綺麗なコードでスッキリと組んで行きたい。

そうなるとPHPのフレームワークかRailsか、という話になるのだが、Railsは環境のケアが必要になり、自分のプロジェクトならまだしもクライアントの案件ではちょっと手が出せない。なにしろ自分の受託案件などは一般的なレンタルサーバーを使うケースがほとんど。

という状況下では小回りが効いて、リソースが多く、ネット上の資料に事欠かないPHP FW、ということで、多少の習得コストをかけてでもLaravelを常用ツールにして置こう思った。

YiiとかPHPixieなども良さげだし、CIにも未練はあるのだが、現段階ではこれが自分のニーズとしてはベストかも。

コメント

タイトルとURLをコピーしました