【えすでぃーけー】

SDK(ソフトウェア開発キット) とは?

最終更新:
💡 対象に合わせた、開発用の道具セット

特定のプラットフォームやサービス向けの開発を支援するツール・ライブラリなどのセット。APIとの役割の違い、SDKごとの構成、選ぶときの確認点を解説します。

📌 このページのポイント
SDK:対象に合わせた開発道具セットAndroid SDKAWS SDKアプリのビルド端末の操作・通信ツールなどJavaScriptからAWSを使うAPI利用ガイドなどNode.js・ブラウザーAPIは利用の窓口や規則。SDKは道具のセット構成はSDKによって違う。全部入りとは限らない対応環境・保守状況・利用条件を確認
Android SDKとAWS SDK for JavaScriptに含まれるものを比べた例です。必要な道具と設定、対応環境は各SDKの公式資料で確認します。
ひよこ ひよこ
SDKは、何をまとめたもの?
ペンギン先生 ペンギン先生
特定のプラットフォームやサービス向けの開発を支援する道具だよ。ライブラリ、ビルドや確認のツール、サンプル、説明資料などがある。どれが含まれるかは、SDKによって違う。
ひよこ ひよこ
APIとは、何が違うの?
ペンギン先生 ペンギン先生
APIは、ほかのソフトウェアの機能を使う窓口や規則だ。ネット通信のAPIだけでなく、コードから関数を呼ぶAPIもある。SDKはそのAPIを使うライブラリなどを提供でき、両者は対立する分類ではないよ。
ひよこ ひよこ
具体的には、どんなSDKがある?
ペンギン先生 ペンギン先生
Android SDKにはアプリのビルドや端末操作などのツールがある。AWS SDK for JavaScriptは、JavaScriptからAWSサービスを扱うAPIを提供する。同じSDKという名前でも、目的と中身が違うんだ。
ひよこ ひよこ
使えば、全部簡単になる?
ペンギン先生 ペンギン先生
共通の処理を自分で作る負担を減らせるが、設定や権限、エラー処理などは必要だ。SDK以外の利用方法が用意されている場合もある。必ず数行で済む、SDKなしでは全部手作業という意味ではない。
ひよこ ひよこ
導入するときに、何を見ればいい?
ペンギン先生 ペンギン先生
使う言語や実行環境、サービスとの対応、保守状況、資料、ライセンスや利用条件を確認しよう。フレームワークを含むSDKもあるので、名称だけで設計の自由度を決めつけない。
もっと詳しく知りたい人へ

SDKのバージョンは、新しければ何でもよい?

対応する実行環境と依存関係を確認します。SDKの更新で使い方が変わる場合もあるため、リリース情報や移行ガイドを読み、変更後の動作を確かめます。Androidのツールには複数のバージョンを選べるものもあり、常に最新だけを前提にはしません。

AWS SDKなら、ブラウザーでもNode.jsでも同じ設定?

AWS SDK for JavaScriptは両方の環境を対象にしていますが、認証情報などの設定方法は異なります。公式ガイドはブラウザーとNode.jsを分けて案内しています。対象の環境の手順を読み、認証情報をどこから取得し、誰に見えるかも確認します。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「SDK」って出てきたら「特定のプラットフォームやサービス向けの開発用道具セット」と思えばだいたいOK!
📖 おまけ:英語の意味
「Software Development Kit」 = ソフトウェア開発キット
💬 Kitは道具のセットを表します。SDKならすべての開発道具が必ず入っている、という意味ではありません。必要な構成と導入方法は、対象の公式資料で確認します。

参考資料

← 用語集にもどる