プラットフォームとフレームワークとライブラリの違い – 超初心者

IT超初心者向け講座
bitbank

第6回目超初心者向けのIT講座は、
プログラミング言語における「プラットフォームとフレームワークとライブラリ」について解説します。


プログラミングはややこしく挫折しやすいです。そのため、方向性を間違わなことが大事です。

超初心者向けのIT講座(第1~7回)は、プログラミングの全体像が分かるように作りました。これからプログラミングをはじめる方には、まず、読んで頂きたいと思います。




イメージ

新しいアプリ(アプリケーション)を作りたいと思ったときに、どのように作ればよいか分からないと思います。

ここでは新しいアプリをつくる  新しい一軒家を建てる」という前提で考えてみましょう。

プラットフォーム、IDE、プログラミング言語、フレームワーク、ライブラリ、アプリケーションの関係性は下記イメージとなります。


プラットフォームは、親元の建設会社(windowsやMacOS)

IDE(総合開発環境)は、棟梁やプロジェクトリーダーなど、取りまとめ役

プログラミング言語は、建築屋、電気屋、塗装屋などの各業種
(HTML/CSS/JavaScript/PHPなどの複数言語)

フレームワークは、各業種に代々伝わる建設ひな形
(建築フローの枠組みがマニュアル化されたもの)

ライブラリは、効率を高める大工道具的なもの
(無いと効率が大幅ダウン)

アプリケーションは、完成した一軒家

重要なポイントとしては効率的に一軒家(アプリ)を作るのにすべて必要ということです。

それぞれについて、もう少し詳しく解説したいと思います。

プラットフォームとは

プラットフォームとはOS(WindowsやMacOSやLinux)のことです。

プログラムを実行すると、それぞれのOSに合ったファイル(バイナリ)が構成(ビルド)されます。

つまり、WindowsとMacOSとでは、全く違う実行ファイルが作成されます。

これより、プログラム作成・実行は、それぞれのプラットフォーム(OS)にあった環境下で、開発が必要となります。

建設会社によって、建設方式や手法が違うのと同じことです。

IDE(総合開発環境とは)

名前のとおりですが総合的に開発できる環境のことです。

アプリケーションの作成においては、複数の言語やシステムを組み込む際に1つの場所で作れる開発環境が重要になります。

最近のアプリケーションは、1つの言語では作っていません。例えば、ホームページなどは、HTML/CSS/JavaScriptなど、少なくとも3つの言語で作られています。

このため、複数の言語を1つの場所にまとめて作業するのが効率的で、それができるのがIDEです。

家を作る例でいうと棟梁の役割のイメージです。

棟梁は、建築屋や電気屋や塗装屋などの色々な業種のひとを集め、ひとつにとりまとめて効率的に家をつくっていきますが、その棟梁と同じ役割をIDEが行っています。

次回の講義テーマでも詳しく説明したいと思います。

フレームワーク

フレームワークとは名前の通りプログラミング言語の骨組みです。

プログラミングを行う際に、ある程度、全体の流れや手順が枠組みや骨組みとして決まっていないと効率が悪いです。

このため、簡潔、簡単に、プログラムを作成することを手助けしてくれるのがフレームワークとなります。

複数人で開発する状況においては、枠組みや骨組みが決まっているので、効率よく開発ができるメリットもあります。

しかし、デメリットとしては、カスタマイズがしにくくなるのと、速度面で不利となる場合があります。

家でいうと、オープンハウスや3LDKなど、家のサイズによって構造や作り方がある程度決まっているのと同じことです。ある程度、大枠がきまっていることで、効率的に、早く安く、家を作ることができます。

このある程度決まっていることが、プログラミングではフレームワークの位置づけとなります。

フレームワーク例:JavaScript

JavaScriptのフレームワークで有名なのがReactです。

Udemy動画にReactの勉強講座がありますが、これは、JavaScriptのフレームワーク「React」を使った場合のコード学習ということになります。

その他にも、Angular、Vue、jQuery、Backboneなど、たくさんあります。

まずは、初心者は有名どころで人気のあるフレームワークで学習するのが良いと思います。

フレームワーク例:Python

Pythonもフレームワークはたくさんあり、Djangoが普及しています。

その他にも、動作がはやいFlask、Bottleや、web2Py、Tornadoなどがあります。

ライブラリ

ライブラリはプログラミング言語における便利な道具を集めたものとなります。

フレームワークは全体の流れや手順などの枠組みに対し、ライブラリはもう少し限定的な便利フレーズを集めたものになります。

Pythonを例でいうと、数式計算をしたい場合は「math」というライブラリを使うと簡単に演算することができます。また、表データの処理を簡単にしたい場合は「Pandas」というライブラリを活用します。

このように、よく使う機能においては、ライブラリをうまく使うことで、効率的にプログラム作成ができます。ライブラリは無料配布されているので、それをインポートすると使うことができます。

家を建てる例でいうと、電動ノコギリやドライバー、ハンマーなど、大工道具です。いちいち道具をつくってから家を建てていたのではかなり不便なので、あらかじめ大工道具を用意しておくことは必須となります。

同じように、ライブラリはプログラミングを効率的に行っていくには必須の便利道具となります。

さいごに

IT用語は、なぜこんなにややこしいのですかね。。。

今回「IDE(総合開発環境)」という言葉がでてきましたが、似たものに「エディタ」というものがあります。

ということで、次回の第7回目は「IDE(総合開発環境)とエディタの違い」について取り上げたいと思います。

次の記事はこちらから↓



bitbank

コメント