SDKとAPIって何?元上場企業SEのIT用語解説
ソフトウェアの設計や開発をしていると、高頻度で登場するアルファベット3文字語
エンジニアの方は理解されていても、
案外それを売る営業の方なんかは知らないことも多いようです。
私の勤め先の中小企業でもソフトウェア開発してますが、開発部隊以外はほぼ全壊状態です。
知らなくても困らないかもしれませんが、知っている方が営業の方はお客様との打合せではカッコよく振る舞えると思いますよ。
なので、この記事は以下の方にオススメ!
- IT関係の営業をしている
- 取引先との打ち合わせで今までは知ったかぶりしてた
- アルファベット3文字語を使いこなしたい
SDKとは?
Software
Development
Kit
の頭文字をとったものです。
日本語にするなら、
「ソフトウェア開発キット」
ですね。
これは自分のソフトウェアと他の人のソフトウェアを合体させるために使うキットです。
世の中には色んなソフトウェアがあります。
中には生体認証とかQRコード生成とか、汎用性の高いものもたくさんあります。
例えば自分が新しくQRコードを使った在庫管理ソフトを開発する際に、URLからQRコードを作る仕組みをお手製で一から作るのは、かなりの工数がかかり、専門性が高いので精度も不安です。
一方で、すでに実績多数のQRコード生成ソフトウェアが世の中には既に存在しています。それを使えれば精度は間違いありません。
自分の在庫管理ソフトと他社のQRコード生成ソフトを合体させるのにSDKを使います。
SDKがない時ー
一から作るのは前述の通り大変です。
また、先ほどの例だと、QRコードを実績ある他社のQRコード生成ソフトで作ってから、それを自社のソフトで使う、という方法もあります。
でも2つのソフトウェアを順に起動する必要があり、手順が多くなってしまいます。
SDKがある時ー
そこで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コードを作ることができます。
SDKは焼き鳥のタレ
さて、ここまでは実際のソフトウェアで説明させてもらいましたが、わかりやすいように、身近なものに例えてみます。
それは、焼き鳥のタレです。
名店の焼き鳥のタレは門外不出の秘伝のレシピで出来ています。
しかし、知り合いが
「鳥は自分で用意するから、タレちょうだい」
って頼まれたので、ボトルに入れて渡すことにしました。
つまり、レシピは渡せないけど、使ってもいいですよっていうことです。
レシピはソフトウェアでいうところのコードで、これは各メーカーの財産なのでオープンには出来ません。しかし、中身を知らないで良いなら使ってもいいですよ、ということでSDKを提供しています。
そしてタレを渡すからには美味しく食べて欲しいので、保存方法とか適量を書いてメモを渡してあげます。これがガイドです。
この場合、APIがタレです。