JavaScript勉強会

JavaScriptの学習日記

API(Application Programming Interface)とは?

JavaScript学習で、「API」という用語がたまに出てきます。

APIについてまとめておきます。(メモ)

 

 

APIとは?

e-words.jp

 

読み方:アピ / エーピーアイ

APIApplication Programming Interface 】 アプリケーションプログラミングインターフェース

 

APIとは、あるコンピュータプログラム(ソフトウェア)の機能や管理するデータなどを、外部の他のプログラムから呼び出して利用するための手順やデータ形式などを定めた規約のこと。

 

個々のソフトウェアの開発者が毎回すべての機能をゼロから開発するのは困難で無駄が多いため、多くのソフトウェアが共通して利用する機能は、OSやミドルウェアなどの形でまとめて提供されている。そのような汎用的な機能を呼び出して利用するための手続きを定めたものがAPIで、個々の開発者はAPIに従って機能を呼び出す短いプログラムを記述するだけで、自分でプログラミングすることなくその機能を利用したソフトウェアを作成することができる。

近年ではネットワークを通じて外部から呼び出すことができるAPIを定めたソフトウェアも増えており、遠隔地にあるコンピュータの提供する機能やデータを取り込んで利用するソフトウェアを開発することができる。

 

  • API(エーピーアイ)は「Application Programming Interface」の略
  • あるプログラムを外部のプログラムから呼び出すときの「窓口」がAPI
  • APIが用意されていると、プログラムを呼び出して利用するのが簡単になる
  • Web APIは、ネットワークをまたいで呼び出せるAPI

 

インターフェースとは?

inter + face = interface

 

interfaceの意味 - 英和辞典 Weblio辞書

名詞

1 a (二者間の)境界面,接点 〔between〕

b 共通の問題

2 【電子計算機】 インターフェイス

 《電算システムにおけるハードウェア同士の接点または接点となるプログラム; 人間と電算システムとの接点,また接点となるプログラムや機器》

 

英語のinterfaceは、「境界面」とか「接点」という意味なんですね。

 

APIって結局何なの?初心者向けに徹底解説します! | Tech2GO

インターフェイス」とはなんでしょうか。

英語の意味としては「境界面」とか「共通領域」という意味があり、コンピュータの用語としては広義には「何かと何かをつなぐもの」という程度の意味があります。

 

f:id:jsstudy:20170513185820p:plain

 

APIの「インターフェイス」は「ソフトウェアとプログラムをつなぐもの」と言えます。

 

f:id:jsstudy:20170513185903p:plain

 

人間向けと機械向けのインターフェース

APIは機械(プログラム)向けの窓口ですが、人間向けの窓口は「GUI」や「CUI」です。

 

GUI

e-words.jp

 

読み方:グーイ / ジーユーアイ

GUIGraphical User Interface 】 グラフィカルユーザインターフェース

GUIとは、コンピュータやソフトウェアが利用者に情報を提示したり操作を受け付けたりする方法(UI:ユーザインターフェース)の類型の一つで、情報の提示に画像や図形を多用し、基礎的な操作の大半を画面上の位置の指示により行うことができるような手法のこと。

 

GUI」は、WindowsMacのアイコンなどです。

 

f:id:jsstudy:20170513202005j:plain

(via Windows 10とmacOS SierraにおけるUIとAIの比較 | UX MILK

 

CUI

e-words.jp

 

読み方:シーユーアイ

CUICharacter-based User Interface 】 キャラクタユーザインターフェース / CLI

CUIとは、ユーザに対する情報の表示を文字によって行い、すべての操作をキーボードを用いて行うユーザインターフェースのこと。UNIX系OSの操作方式として一般的なほか、WindowsなどもCUI画面を呼び出して操作することができる。

 

CUI」は、コマンドプロンプトやターミナルの画面です。

 

f:id:jsstudy:20170513203144p:plain

 

  • 機械(プログラム)向けの窓口が「API
  • 人間向けの窓口が「GUI」や「CUI

 

Web API

Webサービスには、人間向けのデータ提供と、機械向けのデータ提供があります。

 

www.atmarkit.co.jp

 

「Web API」は、Webサーバ上にあるAPIを利用した、プログラミング手法です。

この「Web API」はGoogleAmazonYahoo!Youtubeといった有名どころのサイトが提供しています。

Web APIを使えば、手軽にGoogleAmazonの検索機能やデータを利用するプログラムが構築できるのです。

 

f:id:jsstudy:20170513203959g:plain

 

情報を提供するWebサービスには、様々な窓口(インターフェース)があります。

  • 人間がアクセス → GUIブラウザー)経由でデータを取得
  • 機械(プログラム)がアクセス  → Web API経由でデータを取得

 

人間のユーザーではなく、機械(プログラム)でWebサービスにアクセスする場合は、API経由でデータを取得します。

 

こんなふうに、プログラムがアクセスするときの窓口がAPIというわけです。

 

JavaScript用のAPI

JavaScriptにも、JavaScriptから様々な操作を行うためのAPIが用意されています。

 

developer.mozilla.org

 

JavaScriptの基本文法をマスターしたら、APIを利用して、様々な処理が行えるようになりますね。

 

まとめ

  • 人間向けのインターフェースが「GUI」や「CUI
  • 機械向けのインターフェースが「API
  • JavaScriptから、様々なAPIが利用できる
  • APIを使えば、外部のプログラムを手軽に利用できる

 

JavaScriptを学んで、様々なAPIを利用してみたいです。

 

 

Web API: The Good Parts

Web API: The Good Parts