APIは共通化の道標

「今度の日曜日、家に来て棚を作って下さい。」と頼まれたときに、どんな棚を作るかは、今度訪問した時に考えよう、と考える人もいるでしょう。

しかし、その家の設計図と、写真があれば、事前に自宅で作った棚を、持って行くことができます。

そうすれば、すぐに作業が終了しますし、余分な材料を持って行く必要もありません。せっかくの日曜日なので、早めに作業を終わらして、棚を作ったご褒美として、ご馳走にでもなりたいところです。

これは、コンピューターのプログラムを作成する場合でも同様です。

そして、コンピューターで利用されているOS(基本ソフト)の設計図とも、間取り図とも表現できる情報が「API」です。

これが存在していることによって、最低限のプログラムを記述するだけで、もともとOSに備わっている各種の機能を呼び出して、新しいソフトウェアを開発することが可能となります。

このような共通基盤がない時代には、そのOSの基本的な機能を含めて、新しいソフトウェアが、目的とする動作を取るまでの全ての段階を、最初からプログラムすることが必要でした。

APIによって、OSを開発したメーカー以外の業者が、新しくソフトウェアを開発する際にも、OSの提供している環境をそのまま利用することが容易となりました。

高性能のソフトが、多数提供されることによって利益を受けるのは、ユーザーとその開発業者のみではありません。

そのOSを提供しているメーカーにとっても非常に喜ばしいことです。

 

APIとは?

APIとは、コンピューターにインストールされている各種のソフトウェアが、そのOSによって提供されている機能を利用する際に必要となる仕様、又はインターフェイスのことです。

もともと、OSの一部となっているようなソフトウェアではなく、後から追加される他社製のソフトウェアにとっては、このような仕組みがなければ非常に困ります。

開発者は、単に、OSの機能を呼び出すために決められている、極短いプログラムを記述するだけで、目的とする機能を利用して、新しいソフトウェアを開発することが可能となります。

最近では、Web上のサービスの機能を、外部から利用するために使用される「Web API」も提供されています。

これを利用すれば、複数のWebサービスを組み合わせて、新しいアプリケーションを開発するようなことも可能となります。

例えば、あるSNSで行った投稿を、別のサービスにも、同時に反映させるような仕組みです。

素晴らしい発想を、できるだけ早急に形にするには、各サービスのAPIが、公開されていることが好ましいことは言うまでもありません。

 

APIの公開

APIを公開するかどうかは、その企業によって判断が分かれます。

それは、その企業が、他社によるソフトウェアの開発をどのように評価するか、によるからです。

できるだけ自社だけで、新しいソフトウェアを開発することによって、その利益を独占したい、と考えれば、APIの公開には消極的となります。

それに対して、他社によるソフトウェアの開発が、活発になることによって、自社の提供しているOSの評価が上がれば、売上も上がるのではないか、と考える場合には、APIを積極的に公開することになります。

例えば、現在では、パソコン用のOSの分野で、圧倒的なシェアを占めているMicrosoft社は、積極的にAPIを公開することによって、大成功した例の代表格です。

また、APIには、パソコンのOS以外にも様々な形態があるようです。

一例としては、各種のUNIX OSに共通したAPIである「POSIX」や、プログラム言語のJava言語に対応した「Java API」などです。

どれも、主に、ファイル制御、ウィンドウ制御、画像や、文字の処理などの基本的な機能を、開発中のソフトウェアによってすぐに利用できるようにしています。

 

APIの可能性

現在の状況では、パソコンなどのソフトウェアと、ほぼ同じ機能を、クラウドのサービスとして提供するスタイルが、多くの分野で拡大しているようです。

確かに、Webブラウザを開くことが出来れば、基本的に、それ以外の要件を満たす必要がない環境は、新しいサービスを開発する側にとっては、理想的な環境ではないでしょうか?

それでも、そのサービスを提供する環境に合致したAPIを利用して、これからも、新サービスを開発する必要があることには変わりません。

これからも、新鮮な閃きを、すぐに新サービスとして実現できる便利なツールとして活躍すると思われるAPIです。