【PHP・Ruby】プログラミング初学者がフレームワークを家に例えて解説する。

プログラミング用語は訳わからない

プログラミングを学び始めて3ヶ月。様々な用語と出会ってきました。

  • インスタンス
  • エンティティ
  • クラス
  • ・・・etc

はじめはオェっとしたのですが、だんだん慣れてくるとなんとなく意味がわかってきましたよ。(←けっこう怪しいけど)

 

今回は初心者の視点で、プログラミング言語におけるフレームワークとは何かを解説します。

間違ってたら指摘してね(汗

 

 

フレームワークの意味がわからない

プログラミング学習について調べていると

 

『フレームワークはCakeを使ってます、Rails使ってます』

 

みたいな表現に出会うことになると思うんですけど,はじめて聞くとワケわかんないですよね?

ぼくはフレームワークと聞いて
”3C / 4P /SWOT”
といったマーケティングの概念を思い浮かべてしまいました。

 

 

フレームワークの俺的解釈

で、しばらく学習して考え至った プログラミングにおけるフレームワークとは

『大手ハウスメーカーの家』

 

家って0から作り始めるとえらい大変ですが

NewImage
▲パーツ1つ1つを手作りする宮大工

 

 

工場であらかじめ作られたパーツを現場で組み合わせて作っちゃえば早く完成しますよね。

また、工場で一定の管理下にもとづいて作っているので、品質が安定します。

 NewImage
▲積水ハウスの建設現場。工場で作られたユニットを現場で組み合わせて作ります

 

 

プログラミングの世界も同様で

0から全部自分たちでつくり上げるとめちゃくちゃ大変ですが

 

記述パターン・リンク・ページ・データベースとの接続・ログイン認証などの基本的機能が揃っており、それをベースにカスタマイズすれば、早く、そして一定の品質を確保しつつWebサービスを作れるわけです。

 

CakeやらRailsって何が違うの??

 フレームワークのイメージは分かった。じゃそれぞれ何が違うの?

という疑問に対して、整理したのがコチラ。

image

プログラミング言語毎にそれぞれフレームワークが異なります。

  • PHPに関しては代表的なものが 3つ あり
  • Rubyに関しては実質Rails 1つ 

というような状態です。

(ホントはもっとあるのですが、ぼく自身が知ってるのをピックアップ)

 
 

  • PHP業界では大手ハウスメーカー3 社がしのぎを削ってるのに対し
  • Ruby業界では1 社独占状態といえばイメージしやすいですかね?

 

フレームワークには流行がある

で、困ったことにフレームワークには流行があるんですよ。
どのフレームワークに精通しているかが重要っぽい。

なんか所属してる肩書を気にするサラリーマンみたいですね。(←かつてのわし) 

NewImage
(出典:エンジニアの入口)

世界的にはPHPに関してはこんな感じ。
最近だとLaravel(ララベル)がものすごい勢いで伸びてますよね。

なのでPHP学習者はどのフレームワークを使うかはよく考えたほうがいいかもしれません。

えっお前は何を学んでるんだって?最近落ち目のCakePHPです・・・(しかも3)

 

一方Rubyは実質Rails一択なので、迷う要素無しです。この安心感はちょっと羨ましい。

 

まとめ

以上プログラミング素人が好き勝手にフレームワークについて解説しました。

例えとして適切だったか分かりませんが、お役に立てれば幸いです。

 

 

今日の一句

 

“チャッチャカと つくれるツール フレームワーク”

 

 

 

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です