フレームワークとは?プログラムの土台を例え話でやさしく解説
ねぇテツ、フレームワークって何なの?求人サイト見てたら「フレームワーク経験者歓迎」って書いてあって、最初の1行で止まったんだけど(・_・)?
お、いいとこ見てんじゃん♪ アレな、ざっくり言うと「途中まで出来てるやつ」なわけ
途中まで?作りかけを渡されるってこと?まじで?
そーそー。しかも雑な作りかけじゃなくて、めっちゃ考えられた作りかけだし!
フレームワークとは
フレームワークとは、アプリケーションを作るときの土台になる「骨組み」のことです。よく使う機能や、処理を進める流れがあらかじめ用意されていて、開発する人は決められた場所に自分の処理を書き加えることでアプリを完成させます。
なお、フレームワークという言葉はIT以外でも「考え方の枠組み」という意味で広く使われます。また、どこまでがライブラリでどこからがフレームワークかは、はっきり線を引けない製品もあります。この記事では、開発で使う「土台としてのフレームワーク」を扱います。
仕切りが最初から入っている弁当箱
フレームワークってのはさぁ→仕切りが最初から入ってる弁当箱なわけ。ごはんはここ、おかずはここって、置き場所がもう決まってるっしょ?☆彡
弁当箱て。パソコンの話してたよね?
してるって。おまえが作るのはおかずだけ。箱と仕切りは最初から付いてくる。ってコトなわけ☆彡
仕切りのないタッパーに詰めるとどうなるか
それってつまり、仕切りのないタッパーに詰めたらどうなんの?
やってみ?まず毎回「ごはんどこ置く?」から考えるハメになるわけ。んで持ち歩いてるうちに中身が片寄って、フタ開けたらおかず全部ごはんの上だし!
あー…あれ地味に萎えるやつ
仕切りアリなら、そこはもう悩まなくていいわけ。しかも弁当箱ってさ、フタにハシが付いてたり、ソース入れる小っさいカップが最初から入ってたりすんじゃん?よく使うもんは最初からセットになってる
フレームワークもそこ同じでな。ログインの仕組みとか、データの保存とか、どのアプリでもだいたい要るやつが最初から入ってる。おまえはそれ使うだけ
便利じゃん。じゃあ弁当箱に文句なしってこと?
まあ一個だけあるわ。丸い仕切りに四角いコロッケは入んねーの。おかずのほうを仕切りの形に合わせて作ることになるっしょ?フレームワークも「こう書いてね」って作法があって、そこは合わせにいく側なわけ
ふーん。ライブラリってのも見たんだけど、それも弁当箱?
ライブラリは冷凍食品のほうな。入れるか入れないか、いつ使うかはおまえが決めるっしょ。でも弁当箱の仕切りは、詰める前から形が決まってる。そこが違うんだわ
あ゛ー!つまり、仕切りのある弁当箱を先に用意してもらって、あたしは空いてるとこにおかずを詰めるだけってコトね!早いし崩れない。でも箱の形には逆らえないと(☆∀☆)
そーゆーコトなわけ☆彡 だから求人票に書いてあんのは「うちはこの形の箱使ってます」って意味だし
この例えで当てはまらないところ
お弁当箱は詰めた中身をただ運ぶだけですが、フレームワークは中身を入れたあとに自分で動き、処理の順番を進めていきます。書いた部分が「自分から呼び出す側」ではなく「フレームワークから呼び出してもらう側」になる点が、ただの入れ物との大きな違いです。
