初心者とLaravel
昨日、ちょっと他のフレームワークを見たり、Laravelに関する質問を見ていて感じたことを残しておきます。
PHPを学習途中の人がLaravelを使おうとしているのを見掛けますが、あまりお勧めできません。PHPを学習途中なら、まずシンプルにPHPだけで基本を抑えるべきでしょう。
PHPを一応抑えておいて、「フレームワーク」を学びたい、「何をしてくれるものなのか」、「基本的な構造は?」という点を知りたければ、今現在ならPHPixieが良いでしょう。シンプルですし、「自動的」に行う部分が少ないため、何をやっているのかが理解しやすいです。フレームワーク自体の基礎を押さえる学習目的なら、PHPixieで良いでしょう。
「もし、高校や高専、専門学校などで一年間、週に2時間、PHPのフレームワークを学習するにはどれを教えるか?」こうシナリオを立てて考えてみると、多分80時間程度で半分が実習なら基礎を教えるのは40時間、知識の理解の初段階は時間がかかるものですし、理解するスピードが遅い人もいます。前提知識を持たない人に基礎の部分を教えるなら、PHPixieくらいがぴったりです。
Laravel3の頃は、まだシンプルでしたのでおすすめできましたが、現在のLaravel5.1は「利便性」のフレーム枠です。実際にサイトを構築している人に便利になっています。そのため、学習目的にしては規模は大きすぎ、複雑です。初めてでしたら覚えることも多く、一人で学習するのでしたらポイントを押さえるのが難しいでしょう。
たとえば、ElixirがダメだからLaravelやめたというツイートを今まで3度ほど見かけましたが、ElixirはLaravelの開発をサポートする機能で本体ではありません。使わなければならない機能ではなく、いわばおまけ的な部分です。そんなところにこだわるべきではないのは、Laravel使いの方なら同意していただけるでしょう。ただ、初心者の方はどこが重要なポイントであるかを見極めるのはむりです。
PHPのOOP的な部分まで学習が進んでいるなら、yiiが良い選択肢です。PHPixieよりも高機能で、より実用性があります。フレームワークの利便性も感じることができます。
PHPも含め、言語的な部分や設計的な部分の知識をある程度学習しており、2年先くらいまでに就職を目指しているのでしたら、シェアがまだ大きいCakePHPあたりが有利かも知れません。Google Trandsを信じ、グラフの傾向を読み取り、このまま同じ傾向が持続するという仮定であれば、Laravelが2年先には検索数で追いつくので、それにかける手もあるでしょう。他のフレームワークの盛り返しも考えなくてはなりませんけれどね。
PHPは一通りOKで、他のフレームワークを使用したり、CMSの拡張をいじったりし、ある程度の開発経験のある人が触って「ぴったり感」を感じるなら、Laravelはおすすめです。ですがフレームワークの初心者、ましてはPHP学習中の人にとっては、やや荷が重いでしょう。最終的にLaravelを使うのが目的とする人でも、段階を追うほうが学ぶべき対象が絞れますので、効率的に学習できます。