忍者ブログ

ひつ(じのひよこが)プログラミングします。
お仕事や趣味で困ったこととか、何度も「あれ?どうだったかしら」と調べたりしたこととか、作ったものとか、こどものこととかを書きます
★前は週末定期更新でしたが今は不定期更新です

2024/04    03« 1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30  »05

API の種類

今の会社に入って5年目になるが、初めて新人を後輩に持った。

彼ら/彼女らと会話していて「API ってなんだ」という話になる。哲学だ。


API ってなんだ

API はプログラムが他のプログラムを利用する時、どのようにして呼び出すのかを定めたもの。ルールというか仕様書というか。ただ、文脈で意味が変わる言葉のようにも思える。

API の種類

API という言葉にはすごく広義の API 、広義の API、狭義の API の三種類があると思っている。

すごく広義の API は以下の A~D 全てを指す。

広義の API は以下の A, Bを指す。

狭義の API は以下の Aのみを指す。

公開非公開
ウェブ経由 A C
直接呼出し B D

A. 公開のウェブ経由で呼び出す API

Twitter とかが公開している、「これを使ってうちのサービスをもっと面白く使ってネ」という API がこれ。一定のルールはあるものの、これを利用して色々やっても原則としてルール違反にはならない。また、多少の変更はあるかもしれないが原則として変更されることがない API である。

B. 公開の直接呼び出す API

プログラミング言語のドキュメントがあって公開されているパブリック関数やらパブリックメソッドやらの定義を指す。これも多少の変更はあるかもしれないが原則として変更されることがない。例えば Java の String#codePointCount の定義は Java 5 から Java 8 まで変わっていない。A. との違いは外部との通信を原則として伴わず、既に完成した別のサービスではなくちょっとした単独の機能を呼び出す、という点だろうか。

C. 非公開のウェブ経由で呼び出す API

原則として使うべきでない API。サービスが利用している API ではあるが、公開されておらず、外部の開発者は利用が原則として許されない API。サービス内で使っているため、コロコロ変更されるだろうし、利用した際のサポートもない。また、利用することがサービス規約違反になったりするかもしれない。Pixiv の情報を自動取得とかしたい場合はこういうものを用いる。

D. 非公開の直接呼び出す API

原則として使うべきでない API。なにか特定のライブラリの一部分を無理やり使ったりするときに使う。前に私がやった例としては Google Closure Compiler のコンパイル部分を直接実行したことがあった。これは非公開 API であるため、バージョンアップで急に動かなくなったりしても文句は言えないのである。


とりあえず A を試す

なろう小説API が比較的気軽に試しやすいと思う。オススメ。例もちゃんと載っている。

PR

コメント

ただいまコメントを受けつけておりません。

ブログ内検索

P R