今回は「SDK」についてです。
1.初めに
わからない用語を調べた際、用語の説明をするために他の用語が出現してくるので結局何を意味するのかわからなくなったという経験はありませんか?
私は結構あります。
特に、業界特有の用語なんてその業界の方は知ってて当たり前のように使用してくるので、全く解読できなかったりします。
残念ながら、本ブログに関しても同じことが言えます。
人それぞれどこまで理解しているかは当然異なってきますので、万人が理解できる記事を書くというのは不可能なのです。
超初心者に合わせて毎回基礎中の基礎から説明してたら本題に入れませんからね。
なので、本サイトでは基本的な用語から専門的な用語まで個別にまとめ、簡単に検索できるような構成にしてあります。
もしわからない単語が出てきたら、画面右もしくは最下部に表示されている「サイト内を検索」から用語を検索するか、トップの「用語集」ボタンにまとめた取り扱い用語一覧から目的の用語を検索してみてください。
2.SDKとは?
SDKとは、[Software Development Kit]の略称です。
なので、[ソフトウェア開発キット]という名の通り、ソフトウェア開発をするために必要となるプログラムやツールなどを一つにパッケージ化したもののことです。
本棚を購入したとして、その本棚は組立式だったとします。
この場合、購入品としては、組立説明書・木板・釘・ネジなどの一式がまとめて封入されていますよね?
本棚を構成する部品とその組立手順の載った説明書が入っているので、素人でも組立が可能なのです。
では、一から本棚を作り上げようとした場合、どうなるでしょう?
何の木材を使用するかを決めなければなりませんし、どんな道具が必要になるかも考えなければなりませんよね?
それに、木材の研磨など、技術的な問題もあります。
なので、初心者にとっては中々敷居が高いんですよ。
だから、本棚組立キット一式を購入する人が多いわけです。
こちらの方が簡単だし、ある程度のクオリティが保障されますからね。
この考え方をソフトウェアに置き換えてください。
実現したい機能があったとして、一からソフトウェア開発をしていくのはどう考えても敷居が高いでしょう?
だから、既存のソフトウェアをベースとして機能の実現を目指し、そのためにSDKを仕入れるのです。
こうすることで、ソフトウェアを開発するための下地・環境が簡単に整えられるわけです。
SDKの中身はどんなソフトウェアを開発するかで変化しますが、サンプルコード・デバッグツール・コンパイル・ライブラリ・ドライバ・API・技術資料(通信プロトコルの仕様など)など、様々なモノが含まれます。
SDKは、ソフトウェアを開発している会社が販売もしくは配布しています。
普通にインターネット経由でダウンロードが可能で、有料の場合もありますし、無料の場合もあります。
何故無料で提供していることもあるのかというと、SDKを提供することで自社製品を導入しやすい環境が整うからです。
ある製品を導入すると、関連して便利に使える別の製品が存在するというのはよくある話ですからね。
何より、SDKの開発元メーカについての認知度も上がるでしょう?
知らなければ使ってもらえないので、まずは知ってもらうために先行投資をしているのです。
試食とか無料サンプルと目的は同じです。
最終的に他の製品も購入してもらうための撒き餌にするわけですね。
ちなみに、私がSDKと言われて真っ先に思い浮かべるのは、SIRENの須田恭弥です(笑)
3.まとめ
SDKとは、ソフトウェア開発をするために必要となるプログラムやツールなどを一つにパッケージ化したもののことです。
以上、「SDK」についてでした。


