ケータイ用語の基礎知識
第643回:API とは
(2013/12/17 12:43)
OSやミドルウェアなどの機能の呼び出し方
APIとは、プログラミング用語のひとつで、OSやミドルウェア、サーバーの持つ機能の呼び出し方を定めた規約のことです。APIという名前は英語のアプリケーション・プログラミング・インターフェイス(Application Programming Interface)の略から来ています。
多くのコンピュータ機器は、OSやミドルウェアを搭載しています。携帯電話の場合も、たとえばAndroidやiOSのようなOSを搭載していますし、AndroidスマートフォンであればさらにSQLiteといったデータベースを備えるなど、さまざまなミドルウェアを用いています。
そうした機器の上で動作するプログラムを作るとき、そのプログラムで実行したい機能、備える機能を一から全て作るのは時間の無駄です。なぜなら、実現したい機能のいくつかはコンピュータやスマートフォンのOS、ミドルウェア側の機能と同じであることが多いからです。
たとえば、ある特徴的な機能を持っている電話帳アプリを作りたいとしましょう。特徴的な機能の部分は自作するとして、電話帳として基本的な機能、たとえば電話番号と利用者を紐付けして記憶するといった部分は、「SQLite」を利用できれば(呼び出せば)「データ構造の設計」や「アルゴリズムの作りこみ」といった煩雑な作業をしなくて済みます。
このようなOSやミドルウェアの基本的な機能は、多くのソフトウェアが利用できるよう汎用的な手続きが定めてあります。これがAPIなのです。
アプリケーションやソフトウェアの開発者は、APIで定められた手順に従って機能を呼び出すことで、一から自分で作るよりも手数も少なく、また一般的にはバグの少ない、良質なプログラムを作ることができます。
近年では、ネットワークを利用して外部のコンピュータの機能を呼び出すようなAPIもあります。いわゆるWebAPIやクラウドAPIと呼ばれているいるものがそれです。これらのAPIを使うと、たとえばインターネット上のサーバーの持つ機能を利用することができます。たとえばグーグルの地図APIを利用すれば、簡単に「Googleマップ」の機能を利用できます。またAmazonのAPIを利用すれば、Amazonで取り扱っている商品のデータベースを簡単に扱えます。
複数のAPIを組み合わせて利用する、という使い方もあります。こうした手法で新しいサービスを生み出すことをマッシュアップなどと呼ぶこともあります。
現在では、さまざまな企業がWebAPI、クラウドAPIを公開提供しており、アプリを作成する際にこれらを利用することができます。
携帯電話関連では、ドコモがクラウドAPIを公開
近年は、インターネットの普及、通信の高速化に従って、WebサービスのAPIが多く活用されています。そうした中、携帯電話関連でも、たとえばNTTドコモがさまざまなAPIを開発者向けに公開しています。
ドコモが提供するAPIは、「音声認識」「文字認識」「雑談対話」「知識QA」「環境センサー」などです。スマートフォンアプリの開発者向けサイト「docomo Developer support」から、ドコモユーザー向け以外、あるいはAndroidとiPhoneの両方のアプリ開発で利用できます。