APIってなに
APIはアプリケーション プログラミング インターフェースの頭文字です
何かのプログラムを、また別の何かから呼び出すために使います。
アプリケーションの入り口をイメージします。
このURLで、アカウント名とキーワードと日付を引数(パラメータ)として実行すると、決まった物が返ってくるというのが決まっていてその決まりのことをAPIといいます。
例えばプログラムAに、Twitterで自動ツイートする機能があるとします。プログラムBは、プログラムAを使ってTwitterに12時になったら時報を送りたいと思っておるとします。
この時、プログラムBからAPIでプログラムAを呼び出して使います。その時に、どういった内容で呼び出したらいいのか、の規則が書いてあるものをAPIといいます。
オープンソースってなに
ソースコードのことです。(コードのことで例えばPythonで書いたものとかRubyで書いたものとか)
世の中に公開されていて、誰でもみれて誰でも使えるようになっているコードです。
誰かが書いてくれているコードをそのままダウンロードなどして、自分の作っているプログラムに使うことができます。
フレームワークとは
アプリを作る時の元になる基本の土台のようなものです。ケーキの方とか、レシピとかそんな感じです。
何を作るかは自分で決めますが、ここにこれを入れてこうのせると完成!みたいなもの。
あらかじめ、パーツとして準備されているものもあるのでそれらを組み合わせたりして開発します。
たとえば、このフォルダに画面のパーツを置きます、このフォルダにデータベースの設定を置きます、ここのフォルダを置きますと決まっていたり、フレームワークに搭載されている変数やメソッドを使うと簡単に実装できたりします。(テキストの読み込みとか、簡単にできたり)
APIとオープンソース、フレームワークの違いは
APIは、コードは知りませんし、見えません。あくまでも呼び出す時には、こういう名前で、こういうパラメーターをつけて呼んでくれたら、こうやって回答するよ!というものです。
オープンソースは、コードそのものなのでクラスやメソッドをそのまま使います。オープンソースを流用して開発することができます。
フレームワークは、上にあるようなものを動かすための基盤になるものです。