とあるEC通販の会社のフロントエンドエンジニアをやってます、新卒2年目です。
もうタイトルのまんま!
だから調べて記事にまとめてみたって感じ。
私と同じ疑問を持ってる人いるんじゃないかな?
いてもいなくてもどっちでもいいんだけどさ。
間違ってること書いてたらご指摘を頂きたいですね。
まずはAPIでググってみた
APIってなんぞや、ググったろ。
データの時間 今さら聞けないIT用語:やたらと耳にするけど「API」って何?
「API」とは、「Application Programming Interface」の頭文字です。
大雑把に言うと「アプリケーションをプログラミングするためのインターフェース」という意味。
インターフェイスとは、コンピュータ用語でいうと、「何か」と「何か」をつなぐもの
アプリケーションとプログラミングをつなぐものなんだね〜
どういうことだよ、笑
【初心者入門編】APIとは?知ってワクワク Web APIの使い方
「ソフトウェアの機能を共有する仕組み」のこと
よく使う機能がAPIとして用意されていれば、わざわざ一からプログラムを組む必要はありません。
ほんほん...
仕組みねぇ〜〜
さっきよりかはわかりやすいぞ。
APIとはソフトウェアやアプリケーションなどの一部を外部に向けて公開することにより、第三者が開発したソフトウェアと機能を共有できるようにしてくれるものです。
え?外部に向けて公開しないとAPIにならないの?
そんなことないっしょ、だって自社用に作ったAPIって他社に公開してなくね?
ほかもググったろ!
API(Application Programming Interface)とは、プログラムから特定の機能を利用できるように公開しているインターフェイスのことで、ソフトウェアの機能や情報を共有するための仕組みです。
公開しないとAPIじゃないんですか!!!
どういうこっちゃ!!
もう少し詳しく記事を読んでみよう...!
###寄り道、ちょっとだけ補足
-
アプリケーションとは
OS上にインストールして利用するソフトウェア全般のことを指してるらしい。
スマホのアプリもアプリケーションだよって感じ。 -
ソフトウェアとは
意味合い的にはアプリケーションとほぼ同じらしい。
ソフトウェアの中にアプリケーションがいるイメージ。
「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典
#APIでいう「公開」は外部(他社)に公開って意味ではないらしい
じゃあAPIの「公開」ってどゆこと?って話になると思うんですけども、
下記のように記載されてましたと。
ソフトウェアにAPIという外部とやりとりする窓口を作り、外部アプリとコミュニケーションや連携ができる状態にする。
うーん...
わかるようなわからんような...
##自分なりにまとめてみた
通常のソフトウェアの機能にはAPIの窓口は存在しないんだよね、きっと。
窓口が存在しないソフトウェアの機能はただのソフトウェア機能ですと。
ここにAPIの窓口を設置することで、ただのソフトウェアの機能からAPIに進化。
と同時に、窓口を設置したわけだから**「APIを公開しました」**ってことになるんだよね。
APIを公開したことによって、外部アプリケーションと「こんにちは」(連携)ができるわけだ。
「こんにちは」できるようになるというか、
公開した窓口から**「こんにちは、ほら働けよ」**って強制的に働かされてるイメージで良いのかね。
##例えば
#####他社でいうと...
yahoo天気っていうソフトウェア(アプリケーション)がありますと。
このソフトウェアは「お天気情報を表示する機能(API)」をみんなに公開(APIの公開:窓口作成)してるよ。
自分のページにyahooのお天気情報を追加したかったらこのAPIを使ってね。
#####自社でいうと...
Aソフトウェア(アプリケーション)とBソフトウェア(アプリケーション)があります。
どっちもお天気情報を表示させたいな。
とりあえずAで「お天気を表示させる機能を」作成したよ。
このAで作った「お天気表示機能」をBソフトウェアでも使ったろ!
「お天気表示機能」を公開(APIの公開:窓口作成)して「お天気表示機能API」の完成!
これでBでも「お天気表示機能」が使えるね〜〜。
って具合かな?笑
わかりづらくなっちゃったかも...。
##まとめ
-
API
API = 共有できるソフトウェア(アプリケーション)の機能のこと
手順さえ間違わなければ、誰が使っても同じ動作をしますよ。 -
APIを公開
ソフトウェアの機能に外部と連携できる窓口を作成
→ 窓口を作成した時点でそのソフトウェアはAPIになる
外部に公開するという意味ではない!
ここでいう外部は**別のソフトウェア(アプリケーション)**ってことなんですね。