中小企業DXできたらな計画

SDKとAPIって何?元上場企業SEのIT用語解説

ソフトウェアの設計や開発をしていると、高頻度で登場するアルファベット3文字語

それがSDKAPI

エンジニアの方は理解されていても、
案外それを売る営業の方なんかは知らないことも多いようです。
私の勤め先の中小企業でもソフトウェア開発してますが、開発部隊以外はほぼ全壊状態です。

知らなくても困らないかもしれませんが、知っている方が営業の方はお客様との打合せではカッコよく振る舞えると思いますよ。

なので、この記事は以下の方にオススメ!

  1. IT関係の営業をしている
  2. 取引先との打ち合わせで今までは知ったかぶりしてた
  3. アルファベット3文字語を使いこなしたい

f:id:matsublog2021:20211012081536p:plain

SDKとは?

Software
Development
Kit

の頭文字をとったものです。
日本語にするなら、
「ソフトウェア開発キット」
ですね。
これは自分のソフトウェアと他の人のソフトウェアを合体させるために使うキットです。

世の中には色んなソフトウェアがあります。
中には生体認証とかQRコード生成とか、汎用性の高いものもたくさんあります。
例えば自分が新しくQRコードを使った在庫管理ソフトを開発する際に、URLからQRコードを作る仕組みをお手製で一から作るのは、かなりの工数がかかり、専門性が高いので精度も不安です。
一方で、すでに実績多数のQRコード生成ソフトウェアが世の中には既に存在しています。それを使えれば精度は間違いありません。
自分の在庫管理ソフトと他社のQRコード生成ソフトを合体させるのにSDKを使います。

SDKがない時ー

f:id:matsublog2021:20211012132907p:plain
一から作るのは前述の通り大変です。
また、先ほどの例だと、QRコードを実績ある他社のQRコード生成ソフトで作ってから、それを自社のソフトで使う、という方法もあります。
でも2つのソフトウェアを順に起動する必要があり、手順が多くなってしまいます。

SDKがある時ー

f:id:matsublog2021:20211012132913p:plain
そこでSDKの登場です。
QRコード生成ソフトを自分の在庫管理ソフトに組み込んでしまいましょう。
QRコード生成ソフトはURLを渡せば任意のファイル名で任意の場所にQRコード画像を生成・保存してくれるという外部連携機能があります。
この外部連携に関するファイルなどの総称をSDKというのです。
それを使えば、自分の在庫管理ソフトのボタンを押せば、必要なQRコードが必要な形で出すことが出来ます。例えばラベル印刷ボタンを押せば、他社のソフトが作ったQRコードを、さも自分のソフトで作ったかのようにラベルに印刷して出す、という機能が作れます。つまり、2つのツールを立ち上げるという二度手間を回避できます。

SDKって何が入ってるの?

キットと呼ばれるからには、複数のものが含まれています。
では、何が入っているのか?これはソフトウェアに依存するので一括りでは言えません。
なので、よく入っているものを代表として紹介します。

API

これは

Application
Programming
Interface

の頭文字を取ったものです。
つまり、
アプリとアプリをつなぐプログラム
です。
これはSDKの肝になるものです。
先ほどのQRコード生成ソフトの例で言えば、自分のソフトウェアから、
「こんなQRコードを作ってください」
と依頼する窓口になります。
代表的なものはDLLファイルです。

ガイド

APIとは窓口だと記載しましたが、窓口には所定の書式で申請する必要があります。
各々が好きな書式でQRコード生成を申請されても窓口では対処できないので、
「こちらの書式で申し込んでください」
というマニュアルみたいなものが多くの場合SDKには含まれます。
例えばQRコードを作るのには元となるURLとか、QRコードの種類とかを伝える必要があるので、それを伝える順番とかがガイドには書いているので、自分のソフトウェアのコードの中に、
QRコード生成ソフトさん、このURLでこの種類のQRコードを作ってください」
というコードを混ぜておけば、自分のソフトウェアからQRコード生成ソフトを呼び出してQRコードを作ることができます。

テストツール

基本的にはAPIとガイドがあれば、ソフトウェアを合体させることは出来ます。
ただし、念には念を、こうやって使うんですよーって実際にQRコード生成ソフトを組み込んでいる簡単なソフトウェアを付けてくれている場合があります。この簡易ソフトはコードもオープンにしてくれているので、QRコード生成ソフトを作ったメーカーが実際にQRコード生成ソフトを呼んでる部分をコピーして使うことも出来ます。

SDKは焼き鳥のタレ

さて、ここまでは実際のソフトウェアで説明させてもらいましたが、わかりやすいように、身近なものに例えてみます。
それは、焼き鳥のタレです。

名店の焼き鳥のタレは門外不出の秘伝のレシピで出来ています。
しかし、知り合いが
「鳥は自分で用意するから、タレちょうだい」
って頼まれたので、ボトルに入れて渡すことにしました。
つまり、レシピは渡せないけど、使ってもいいですよっていうことです。
レシピはソフトウェアでいうところのコードで、これは各メーカーの財産なのでオープンには出来ません。しかし、中身を知らないで良いなら使ってもいいですよ、ということでSDKを提供しています。
そしてタレを渡すからには美味しく食べて欲しいので、保存方法とか適量を書いてメモを渡してあげます。これがガイドです。
この場合、APIがタレです。

SDKはウィンウィン

秘伝のタレの作り方までは公開できませんが、他の店や人に使ってもらうことでタレ代を稼ぐというビジネス、それがSDKの存在価値です。
使わせる側はSDK代をもらい、使う側は開発工数を抑えることが出来ます。
つまり、SDKはウィンウィンです。

まとめ

SDKは秘伝のコードの限定公開
使う側は新たに一から作る工数を抑えることができる。
使わせる側はSDKの販売として、売上がある。