はじめに
"SDK" というものをご存知でしょうか。
例えば、LINEのMessaging APIに登場します。
LINE Messaging API SDKには、ライブラリ、ツール、およびサンプルが含まれています。SDKを使えば、Messaging APIを組み込んだボットアプリの開発を簡単に始めることができます。
つまり、"SDK" を使用すると、簡単にLINE Botを開発できるようです。
SDKとは?
SDKとは?
SDK は、Software Development Kit (ソフトウェア開発キット)の略称です。
なるほど、開発におけるツールセットを表すのですね。
先ほどのLINE Botにおいては、「Messaging APIのSDK」と言えそうです。
APIとSDKの違いは?
APIとSDKの違いは?
API
- Application Programming Interface(アプリケーションとプログラムをつなげる窓口)
- ソフトウェア間で情報をやりとりするためのルール
SDK
- Software Development Kit (ソフトウェア開発キット)
- 特定のプログラムを作成するために必要なツールやライブラリの集まり
- 多くの場合、APIを含む
料理に例えてみる
API:調理器具(包丁・鍋・・・)
SDK:調理器具セット
こだわりのある中級者以上の人は、自分で「調理器具」を選定し、自分に合った器具を使用します。
しかし、初心者や、ただ「料理をしたい」人にとっては、「調理器具セット」を使うことが推奨されるでしょう。
少ない手間で、簡単に料理を作ることができます。
彼ら(初心者)に「調理器具の知識」は「あればよいが、なくても問題ない」ものです。
SDKとAPIも同様のことが言えるでしょう。
初心者や、ただそのアプリケーションの機能を使いたい人にとっては、
「どんなAPIで、どうコードを書くべきかの知識」は「あればよいが、なくても問題ない」ものです。
それよりも「簡単に自分のアイデアを試し、実装したい」というのが本音です。
そのニーズに、「セット」であるSDKが合致します。
おわりに
APIの説明をアプリケーションとプログラムをつなげる窓口
としたことや、調理器具の例えはSDKとAPIのすべての面を説明できてはいないかなと思います。
ただ、現状の理解では大まかには正しいと考えています。
より良い説明や例えがありましたら、コメント💬いただけると嬉しいです!