SDKやAPIってなに?

アプリを作るときに出てくるSDKやAPIとは何でしょうか。

SDKとは

Softwear Development Kit(SDK)の略で、そのソフトウェアを開発するために必要なものがまとまっているキットの事を言います。例えば、Googleやアップルはそれぞれのモバイルアプリを作成するために必要なものをまとめたSDKを提供していますし、ソフトバンクはPepperを動かすためのアプリを作るためにSDKを提供しています。ソフトウェアが動作するあらゆる環境でSDKは提供されています。OS(Windows,macOS,Android,iOSなど)、ゲーム機、ロボットなどで提供されていますが、中にはライブラリを使うための単純なAPIをまとめたものをSDKと言っているものもあります。一般的にSDKはその対象のソフトウェアを作るために必要なライブラリやモジュールなどと一緒に、使い方や実装方法などのドキュメント、開発に必要なハードウェアも含めた一式が全てまとまったものとなっています。

APIとは

Application Programming Interface(API)の略で、ソフトウェアコンポーネントを使うときのインターフェースのことを言います。このソフトウェアコンポーネントとは様々な部品を総称していて、ライブラリやモジュールなどのことです。APIはその部品の種類によって様々な インターフェース(使い方)が提供されています。例えば、関数、メソッド、クラスオブジェクト、データ構造などです。プログラミングしていてよく目にするのは、ライブラリの関数を使うときかと思います。その関数はライブラリのAPIということですね。