レッスンケース 1 - Laravelの開発についてどのように学べばよいですか?(マネージャー編)

投稿日:2015年10月24日
カテゴリ: Laravel , レッスン , レッスンケース


フミリアです。

10月ももう終わりそうです。 最近、時間の流れがとても早く感じます。

「フミリア・ラボ」は、プロになりたい人向けのプログラミング・コーチをやっています。昨日は2件のレッスンを行いました。ともに初めての方です。それではどんなレッスンをやったのか紹介していきますね。

多摩川と丸子橋.jpg

多摩川の水面から見上げた丸子橋。水面ギリギリの位置から撮りました。

Laravelプロジェクトの女性マネージャー

CMSベースのWebサイトを、Laravelベースに作り変えるプロジェクトのマネージャーをされている方からの依頼で、「Laravelの疑問がたくさんあるから教えてほしい」という要望でした。今回はSkype 60分レッスンを選ばれました。

技術的な背景を聞くと「プログラミング経験はほぼない」とのことでしたので、専門的な技術用語も一つ一つ説明しながら質問に回答していきました。

リーダー視点では「どんなコードが書けるのか」よりも、「どんなもの(パッケージ)を使うとどのくらいの労力(工数)でどのレベルのものが調達できるのか」の情報が重要です。

CMSとLaravelはどこが違うか?

WordPressなどのCMSはプラグイン機構でWebサイトの機能拡張ができます。そのイメージで「Laravelではパッケージをどう探せばよいか?」という質問がありましたが、結論から言うと、残念ながらプラグイン感覚で追加できるLaravel用パッケージは存在しません。

WordPressとLaravelは一体何が違うのか。 違いはいくつかありますが、最も大きな違いは「管理画面が用意されているか、否か」です。Laravelには管理画面が用意されていないのです。

LaravelでCMSのプラグインに相当するものは、Composerパッケージになります。Composerは、PHPパッケージ管理のデファクトスタンダードなツールです。PHPベースのたくさんのフレームワークで採用されています。WordPressのプラグインはその挙動をWordPressの管理画面から設定することができますが、Composerパッケージにはベースとなる管理画面がないので、PHPのソースファイルで設定できるようになっていることが多いです。ということは、WordPress相当の管理画面はゼロから作る必要があるということです。この「管理画面の開発工数」は相当大きなものです。その量は、UIの使い勝手を求めるととてつもなく跳ね上がることになります。このことを知らないと見積もりに入らないため、現場は大変なことになるでしょう。

マネージャーが把握しておくべき技術的な知識

彼女は初めての用語でも論理的に説明をするとしっかり理解できる方でしたので、プログラミングのバックボーンがそれほどなくても技術用語を理解できたようでした。

例えばLaravelの機能の一つである「マイグレーション」についても、「データベースにはテーブル定義とレコード(データ)があります。Laravelはそのテーブル定義をPHPのコードで書くことができます。これはスキーマビルダーという機能ですが、テーブル定義のコードをバージョン管理できるようにしたのがマイグレーションです。」と説明するとすんなり理解してもらえました。これで、エンジニアが使う「マイグレーション」という用語を使った話でも、何を目的としているかを理解することができることでしょう。

最後に、「今後Laravelの知識を獲得していくにはどうしたらいいか?」という質問がありました。これについては、次のように回答しました。

  • 日本語より英語の情報がはるかに多い。英語の情報を取り入れること。例えばLaravel News Laravel Weekly を購読する。
  • Laravel 5.1 講義資料 を使うなど、Laravelの持つ機能が何をするのかなど要点の把握に務めること。

フミリア・ラボは、プロジェクトリーダーのテクニカルブレーン

フミリア・ラボは、プロを目指すエンジニア、一歩上を目指すWebデザイナーだけでなく、プロジェクトリーダーのテクニカルブレーンになります。 プロジェクトの意思決定、プロジェクト管理のために必要な技術知識をレクチャーします。自分一人で学ぶより圧倒的に時間効率がよいです。

技術相談・レクチャーのご依頼は、お問い合わせフォームから送信ください。


投稿日:2015年10月24日
カテゴリ: Laravel , レッスン , レッスンケース