この記事では、プログラミングのフレームワークについて説明します。
プログラミングのフレームワークとは?
プログラミングを学習すると「フレームワーク」という言葉が登場します。
また、プログラミング初心者の方は、自分が使っている技術がフレームワークだということを知らずに使っている場合もあります。
今回は、プログラミングのフレームワークとは一体何か、そして有名なフレームワークを紹介します。
フレームワークの概要
フレームワークは、日本語では「枠組み」です。
プログラミングの「フレームワーク」は、その枠組みに沿ってコードを書くことで開発をしやすくために存在します。
わかりやすく、身近なものに例えてフレームワークを表現してみます。
フレームワークのイメージは、「組み立て式の家具」です。
IKEAの家具はパーツと説明書を読んで最後は自分で組み立てる
いきなりですが、IKEAはご存知でしょうか?
IKEAは、スウェーデン発祥の家具のお店です。
値段がリーズナブルで、日本人にも人気な欧州家具が手に入ります。
IKEAの家具がなぜプログラミングのフレームワークのイメージなのか?
それは、IKEAの家具の多くは、家具を自分で組み立てなくてはいけないからです。
IKEAで家具を購入した人は経験があると思いますが、本棚とかを買うと、本棚のパーツが入っていて、それを自分で組み立てることで完成させます。
パーツはIKEAが、システ組み立てて本棚を完成させるのは買った人が行います。
つまり、この部品を用意してくれるIKEAがプログラミングのフレームワークです。
ウェブサービスの開発で使うであろう機能はフレームワークが用意してくれるので、私たちはその部品を利用して、自分が作りたいサイトを家具のように組み立てるのです。
また、IKEAの家具には取り扱いの説明書があります。
家具を組み立てるときにはその説明書を読んで組み立てますよね?
プログラミングのフレームワークも同じで、フレームワークにはフレームワーク独特のルール(説明書)があります。
フレームワークを使うということは、そのルールを理解し覚えて利用する必要があります。
フレームワークを学習するというのは、そのフレームワークにどんな部品があるのかの理解と組み立て方のルール(コード)を覚えることになります。
フレームワーク開発の初心者の落とし穴
初心者の方は、「フレームワークは便利だから使った方がいい」と思うはずです。
ただし、一つ落とし穴があります。
それは、フレームワークの元であるプログラミング言語自体のルールを覚えていないと挫折する可能性が高いということです。
先ほどIKEAの家具でフレームワークの説明をしました。
みなさんは、本棚がどんなものかの知識をもうお持ちです。
ですから、いきなり本棚のもとになる部品を見てもなんとなくどう使うのかイメージがつくのです。
これが、もし本棚に関する知識がゼロだった場合はどうでしょうか?
全体像が見えていない中で本棚を組み立てるのは相当苦労するのではないでしょうか?
つまり、プログラミングでも、まずはプログラミング言語の大体の全体像と部品の材料を知っておく必要があります。
いきなり部品の知識とその部品の組み立て方のルールを覚えても全体像が見えてなくてはうまくフレームワークを使いこなせないのです。
フルスクラッチ開発
フレームワークなどに頼らずにイチからコードを書いて組み立てていく開発を「スクラッチ開発」と呼びます。
プログラミング初心者の方は、スクラッチ開発でプログラミング言語の全体像をつかむと成長が早くなります。
サービスを作るという作業において、一見遠回りにも思えますが、結果的には最短距離になると思います。
有名なフレームワーク
有名なフレームワークのいくつか紹介をします。
PHPフレームワーク「Laravel」
「Laravel」はPHPのフレームワークです。PHPのフレームワークでも人気が高いです。
人気が高い理由として、学習コストが低い、自由度が高いと言われています。
また、日本語での情報も充実しています。
私もLaravelでの開発をしたことがありますが、確かに使うまでの学習コストは低いと感じました。
ただし、フレームワークのわりには開発のルールがかなりの自由度が高いので、「使えるまでが早いけど、使いこなくすとなると大変」といった印象でした。
Rubyフレームワーク「Ruby on Rails」
日本のプログラミング初心者に大人気のフレームワーク「Ruby on Rails」です。
Rubyが日本の開発者の方が作ったプログラミング言語のこともあり、日本語での情報が大変豊富です。
「Rails(レール)」というくらいですから、このフレームワークのルールに従えって開発すると驚くほどに簡単にウェブサービスを公開できます。
プログラミングスクールやプログラミングサイトでもこの「Ruby on Rails」を使ったウェブサイト開発のコースが多くあります。
フロントエンドフレームワーク「Vue.js」
JavaScriptのフレームワークです。JavaScriptのフレームワークは他にもたくさんありますが、この「Vue.js」は最近かなり人気があります。
日本語での情報が豊富で、特に「日本語ドキュメント」が充実しています。
CSSフレームワーク「Bootstrap」
こちらは、CSSのフレームワークです。
まり、サイトの見栄えをよくする時に使うフレームワークです。
CSSでレイアウトを作成するのは大変ですが、フレームワークを使えばあらかじめ用意された、統一感を持ったレイアウトにすることができます。
フレームワークで開発効率を上げよう
フレームワークを利用すれば、自分でいちいち機能をゼロから作る必要がなくなり、開発の速度を上げることができます。
また、最近のフレームワークは、ある程度セキュリティの対策もしてくれる機能があったりしますので、ぜひ学習してみて欲しいと思います。
ただし、プログラミング初心者はまずはフレームワークの元となる言語の学習をしてからにしましょう。
コメント