APIとは何ですか?
アプリケーションプログラミングインターフェイスまたはAPIは、Webベースのソフトウェアアプリケーションにアクセスするためのデータ構造、プロトコル、ルーチン、およびツールのセットです。 プログラムを簡単に開発するためのすべての構成要素を提供します。 アプリケーションプログラミングインターフェイスは、言語に依存する場合と言語に依存しない場合があります。 言語依存のAPIは、特定のプログラミング言語でのみ使用できます。 言語に依存しないAPIは、特定の言語、システム、またはプロセスにバインドされていません。 これらは、いくつかのプログラミング言語から呼び出すことができます。
APIはバックグラウンドでサイレントに実行されます。 ソフトウェアユーザーやWebサーファーにはまったく見えません。 主な役割は、アプリケーションが互いに連携して、ユーザーが必要な機能と情報を確実に取得できるようにするためのチャネルを提供することです。
たとえば、ユーザーがオンラインで製品を購入してクレジットカード情報を入力すると、製品WebサイトはAPIを使用してクレジットカード情報を別のアプリケーションに送信します。 アプリケーションは、情報が正しいかどうかを検証します。 次に、情報が検証され、支払いが確認された後、製品のWebサイトが購入した製品を発行することを許可します。 Webサイトには、APIを使用して連携して動作するこのようなアプリケーションが多数あります。
アプリケーションプログラミングインターフェイスにより、ソフトウェア開発者がアプリケーションの構築をゼロから始める必要がなくなります。 すべての機能を実行する1つのアプリケーションを構築する必要はありません。 アプリケーションは、特定の責任をリモートアプリケーションに移すことができます。 したがって、APIはSaaS(サービスとしてのソフトウェア)に似ています。
ソフトウェア会社は、ソフトウェア開発キット(SDK)の形式でAPIをプログラマーにリリースします。 SDKには、プログラミングツール、アプリケーションプログラミングインターフェイス、およびリリースドキュメントが含まれており、プログラマの作業を容易にします。
会社は、次のようなAPIを開発者にリリースする前に、いくつかの公開ポリシーに従います。
- アプリケーションプログラミングインターフェイスに関する重要な情報は、社外の誰にも公開できません。
- 企業は、APIを無料で一般公開する必要があります。 たとえば、Microsoft®は、DirectX®とそのAPI全体を開発者に無料で提供します。 これらのコンポーネントにアクセスするには、SDKをダウンロードする必要があります。 また、Microsoft®は、オペレーティング環境と整合性のあるアプリケーションを作成するために、Windows®APIを開発者に無料で提供しています。 Apple®は、開発者がiPhone用の便利なアプリケーションを作成するためのAPICarbon®およびCocoa®もリリースしました。
- 企業は一般の人々から情報を保護します。 たとえば、公式のPlayStation®2 APIは、ライセンスを取得したPlayStation®開発者にのみSony®からリリースされました。 このように、Sony®はゲームの品質を完全に管理し、潜在的なライセンス収入を享受しました。