APIとは?よく聞くけどわからない人へのざっくりした説明
職場で「API」という言葉をよく聞きませんか?周りの人は「APIを叩く」とか、「APIを公開する」とか言ってますよね。
APIって何?と調べてみても『Application Programming Interface』の頭文字だ!とか、外部とやりとりする窓口だ!とか言われていまいちピンとこない…。それもそのはずでAPIとは外部とやりとりする窓口というくらいなのであまり具体的なものではありません。
例えば『食べ物を食べる』というと「何か食べるんだな」くらいの情報しかありません。それと同じようで『APIを叩く』といえば「APIを動かすんだな」くらいしか情報がないのです。重要なのはその前後の文脈だったりします。
ということで今回はAPIがよくわからない人のためがイメージを持てるようかみ砕いて説明したいと思います。
例1)APIとは何か渡すと何か返ってくるもの
例えば郵便番号を入力すると住所が返ってくるシステムがあるとします。この住所を返してくるものをAPIと呼びます。
他にもxとyの値を渡すとグラフが返ってくるシステムのグラフを返しているものもAPIと呼びます。
このように何かを渡した時に何か返すものをAPIと呼びます。職場でAPIを作ってと言われたらこういう仕組みのものを指すことが多いのではないでしょうか?
ちなみにgoogleの検索も文字を入力して検索すると検索結果が返ってくるけどAPI?と思う人もいるかもしれませんが、これも実はAPIです。厳密にはWEB APIという種類になります。ただ検索などはAPIではなくググるなど言う方が一般的なのでなんでもかんでもAPIと呼ぶわけではありません。
例2)既存のAPIを使う
例えばあなたがiPhoneアプリを開発していたとして地図機能を使いたいとします。そうなったときに自力で作る方法でもいいのですが、かなり労力がかかってしまいますよね?そういう時はgoogle mapのAPIが用意されており、このAPIをiPhoneアプリに組み込むことでgoogle mapが使えます。
このように企業によっては便利なAPIを提供していてそれを使用することができます。この時もAPIという呼び名を使います。
例えばTwitterとかAmazonとかQiitaとか探すと色々と便利なAPIを提供しているので興味がある人は調べてみるといかがでしょうか?
まとめ
APIのイメージはついたでしょうか?上記の説明が必ずしも正しいわけではありませんが、わからない言葉がある場合まずはイメージを持ち、仕事や勉強を通じて自分なりに解釈をしていくのがよいと思います。
さらに勉強をすすめると『リクエストとレスポンス』とか『http/https』とか様々な専門用語が出てくるので知識を深める手助けになれば幸いです。