157
116

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

SDKとAPIについて

Last updated at Posted at 2018-01-15

#SDKとAPIの違いについて
データ連携の際にSDKとAPIについて触れる機会があったのでその違いについてのメモ
厳密ではないです。ふわっとしてます。
Javaを自分がやってたのでJava視点で見ます

##まずは。
APIとSDKは全然違うものです。
自分も調べていくうちにSDKとAPIの関係性とか調べ始めて何が何だか分かんなくなった。

##SDK
SDKはソフトウェア開発キット(Software Development kit)でJavaのみんなが使えるクラスみたいなもの。(APIとか言われてるけど今回は混乱するのでクラスで行きます。厳密ではないです。すいません)
↓こんなやつよね
Date__Java_Platform_SE_7__.png
https://docs.oracle.com/javase/jp/7/api/

##API
APIはApplication Programing Interfaceの略でつまりは通信(HTTPとか)のルール
「特定のURL送ると特定のデータ返しますぜ」ってやつ。
例)HTTP1.0では
GET ファイル名 HTTP/1.0(改行)(改行)
という形でWebサーバーに送ればWebページの情報が取れますよと。

##なんでAPIとSDKが混乱するのか
サービスによってはAPIやSDKを公開しているところがある。
もう一度言っておくとSDKはあくまでクラスでAPIはルール

だからそのサービスの情報を取りたかったらAPI(ルール・URL)で取ればいい。
でも、そのAPIを書くのって大変。
そこで企業側でAPIを簡単にしてくれるクラスを作ったよ=SDK

だからSDKはJava自体にも備わっているクラス(JavaでいうAPI。上のAPIとは違うよ)と同じで会社独自で作ったやつ。それを使うとクラスのメソッドの中に定義されているAPI(URL)が動きますよ。

SDKを使ってAPIを送ってますよ。SDKもAPIもやってることは同じですよ。SDKなら簡単にできますよ
やってることが同じだから混乱するのか。

157
116
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
157
116

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?