Laravel を使った開発

ウェブサイトリニューアルしてから、1週間ほど経過しました。ちょこちょこと反応もいただいており、嬉しい限りです。サービス内容はともかく、スタッフ紹介を読まれていると思うと、実名や顔写真は出ていないのに気恥ずかしいですね。あまり自分に自信がないので・・・。Facebookに顔写真をバンバン出している方々が羨ましいです。でもたぶん人種が違うんだろうなぁと思ったり。

さて7月になってようやく社員さんの個人面談を開始しました。あまり良い報告が出来なかったので、面談も気が重かったのですが、面白い提案をしてくれる人もいて、なかなか楽しかったです。やはり半年一回は真面目に話をしてみるものですね。

今回、betaさんから提案があったのが「Laravelを使った開発」でした。私もLaravelは知らなくて、betaさんに教えてもらったのですが、どうもCakePHPのようなシステム開発用のフレームワークだそうです。私はこれで何となくはわかるのですが、一般の人にはわからないですよね。フレームワークというのは、システム開発をする上での雛形と言えばわかりやすいですかね。

だいたい一般的なWEBシステムって、データベースを使います。データベースにデータを蓄積しておくと、データの取り出しが楽にできるからです。あとはユーザーがデータを閲覧したり、データ入力するための画面がありますね。さらに入力したデータが問題ないか確認してデータベースに格納したり、ユーザーの要求に応じてデータベースからデータを引っ張って画面表示する機能が画面とデータベースの間で動いていますね。だいたいこういう仕組みでシステムは動いているので、そういう基本な枠組みはあらかじめ作っておいて、使いまわしした方が効率よくシステム開発ができるはずです。こういうものをフレームワークと呼んでいて、Laravelはこういったフレームワークのひとつなわけです。

Laravelを使った開発というと、「御社はEC-CUBEやWordPressじゃなかったの?」と思われるかもしれませんが、LaravelはEC-CUBEやWordPressとはまた別モノです。EC-CUBEはECサイトを作るための製品ですし、WordPressはブログサイトを作るための製品ですが、Laravelはそれらの製品を作るための半製品みたいなものです。ですから、LaravelからEC-CUBEやWordPressを作ることも可能です。

「EC-CUBEやWordPressがあるのに、なぜわざわざlaravelを持ってくるの?」とも思われるかもしれませんね。殊にEC-CUBEを使ったシステム開発は弊社の得意とするところですが、年々独自性の高いシステム開発を依頼されることが多くなってきて、EC-CUBEではやりにくいということも多いんですよね。

EC-CUBEのような、ちゃんとした設計思想のもとに完成されているシステムは、標準仕様に沿った使い方をするなら高速かつ低コストで開発できるのですが、標準仕様をかなり逸脱した仕様をご希望される場合は、標準仕様にプラグインを合わせるだけでは実現できないことがあります。そこで標準仕様の一部をぶっ壊して、そこに半ば強引に独自仕様を組み込むわけですが、そんなことを繰り返していると、なんだか建て増しを繰り返した違法建築物のような不安定なシステムになっていきます。

「独自仕様を組み込んでも、安定的なシステムを作るのがプロだろ!?」という厳しいご意見もあるかもしれませんね。まぁ、違法建築物はわかりやすい例えとして申しあげたわけですが、独自仕様を組み込めば組み込むほど、コードが複雑になり、プログラマーが理解しづらいものになり、それは結果的にコストとして跳ね返るのは、おおよそ間違いないところだと思います。

コストが無駄に高いシステムを作るのは本意ではありませんので、クライアント様の要求仕様がEC-CUBEやWordpressなどの標準仕様から大きく逸脱している場合は、Laravelを使うという選択肢も今後は積極的に提案していこうと思っています。

・・・というわけで、システム開発のページにLaravelを追加しました。
https://www.nakweb.com/system_development/our_skill/