広告 コンピュータ

APIとは

2020年7月28日

API(Application Programming Interface)

ソフトウェア開発に携わっていると「API」という言葉をよく耳にします。

「API」「インタフェース」「ライブラリ」「モジュール」「コンポーネント」など、ソフトウェア開発の現場では、当たり前のように使われている言葉です。

エンジニア同士では 当たり前のように使われている言葉ですが、実際は「APIってどんな意味?」と疑問に思い、検索エンジンで調べているエンジニアは沢山いるのではないでしょうか。

本記事では、そんな「API」について分かりやすく解説していきます。

スポンサーリンク

APIの定義

APIとは、Application Programming Interface の英単語の略で、それぞれの頭文字を取って「API」と呼ばれています。

  • Application
  • Programming
  • Interface

APIは、アプリケーション・プログラミング・インタフェースという意味を持つ言葉です。

インタフェースとは「何か」と「何か」を繋ぐ境界の部分(接点)を指す言葉です。例えば、パソコンとマウスを繋ぐUSBは「ハードウェアインタフェース」の一つです。(パソコンとマウスはハードウェアなので、ハードウェア同士を繋ぐUSBは「ハードウェアインタフェース」)

インタフェースのイメージ図

APIはソフトウェアインタフェースの一種

ハードウェア同士を繋ぐのが「ハードウェアインタフェース」、先ほど 例であげたパソコンと周辺機器であるマウスを繋ぐUSBは「ハードウェアインタフェース」の一つでした。

そして、ソフトウェア同士を繋ぐのが「ソフトウェアインタフェース」です。「ソフトウェアインタフェース」とは、ソフトウェア同士が通信できるようにするための定義(決まり事)を定めたものです。

APIは、この「ソフトウェアインタフェース」の一種であり、ソフトウェア同士が互いに情報をやりとりするのに使用するインタフェースの仕様です。

ソフトウェア開発者が、毎回すべての機能をゼロから開発するのは非効率であり、多くのソフトウェアが共通して利用する機能は、ミドルウェアやライブラリ、サービスなどの形で提供されています。

このような共通的な機能を呼び出して利用するには、どうすればよいのかが定義されているのが「API」であり、開発者は「API」に従って、共通的な機能を呼び出すコードを記述するだけで、その機能を利用することができます。

「Java API」なども同様で、開発者は「Java API」に書かれている通りに呼び出すことで、Javaの関数を利用することができます。

Web API

APIの中でも、よく利用されているのが「Web API」です。「Web API」とは、Web上に公開されている機能を、外部から呼び出して利用できるAPIのことです。

Web API

Webアプリケーション開発では、クライアント(フロント)とサーバ(バックエンド)間で、HTTP通信を使い情報のやり取りを行います。

この時、公開されているサーバの機能を使うための「窓口」(※サーバの機能を使うための定義)が「Web API」です。

また、「Web API」は マッシュアップにより複数のサービスを組み合わせて新たなアプリケーションを作成することを可能としています。

マッシュアップとは、複数のサービスを組み合わせて新しいサービスを作ることをいいます。

マッシュアップ

helpful