類似用語

APIとインタフェースの違い

2020年7月29日

APIとインタフェースの違いとは

ソフトウェア開発に携わっているとよく耳にする言葉である「API」と「インタフェース」。設計書にも「API仕様書」と「インタフェース仕様書」があり、同じような意味の言葉で使用されています。

エンジニア同士では、当たり前のように使われている言葉ですが、実際は

APIってどんな意味?

インタフェースってどんな意味?

APIとインフェースはどう違うの?

と疑問を持ち、1度は検索エンジンで調べたことがある人も多いのではないでしょうか。

スポンサーリンク

本記事では、そんな「API」と「インタフェース」の違いや定義について解説していきます。

インタフェースとAPIはどう違うの?

以下は、インタフェースとAPIの関係性を示した図です。インタフェースには「ハードウェアインタフェース」と「ソフトウェアインタフェース」があり、APIは「ソフトウェアインタフェース」の一種です。

APIとインタフェース

それでは、インタフェースとAPIについて詳しく説明していきます。

インタフェースとは

インタフェースとは、接点、境界面などの意味を持つ英単語であり、物と物を接続するための接点を表す言葉です。

例えば2つの物を繋げるためには、繋げるための何かが必要です。この2つの物を繋げるための"もの"がインタフェースです。

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

代表的なインタフェースには、「ハードウェアインタフェース」と「ソフトウェアインタフェース」が存在します。

ハードウェアインタフェースとは、ハードウェア同士を繋げるためのものを指します。例えば、パソコンとパソコンの周辺機器であるマウスを接続するための「USB」は、ハードウェアインタフェースです。

ハードウェアインタフェース

ソフトウェアインタフェースとは、ソフトウェア同士を繋げるもの(実際にはソフトウェア同士が接続できるようにするための決り事)を指します。

そして、ソフトウェア同士を繋げるために、通信の方法や送信内容、受信内容などを定義しているAPI(Application Programming Interface)はソフトウェアインタフェースです。

APIとは

APIとは、Application Programming Interface(アプリケーション・プログラミング・インタフェース)という意味を持つ言葉であり、ソフトウェアインタフェースの一種です。

ソフトウェアインタフェース

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

一般的なWebアプリケーションは、クライアントとサーバに分かれ、HTTP通信によりデータの送受信を行います。この時、クライアントからサーバにどのような通信方式で、どのようなデータを送受信するのかを定義しているのが「Web API」です。

クライアントは「Web API」に従って、サーバの機能を呼び出して利用します。

まとめ

本記事では「API」と「インタフェース」について紹介しました。

インタフェースとは

インタフェースとは、2つの物を繋げるための接点

ハードウェア同士を繋げるのがハードウェアインタフェース

ソフトウェア同士を繋げるのがソフトウェアインタフェース

APIとは

APIとは、ソフトウェア同士を繋げるためのインタフェース

helpful