APIとは何ですか?

目次:

APIとは何ですか? - ブログ 2023
APIとは何ですか? - ブログ 2023
Anonim
「API」という用語が出てきた可能性が高いです。オペレーティングシステム、Webブラウザ、アプリのアップデートでは、開発者向けに新しいAPIが発表されることがよくあります。しかし、APIとは何ですか?
「API」という用語が出てきた可能性が高いです。オペレーティングシステム、Webブラウザ、アプリのアップデートでは、開発者向けに新しいAPIが発表されることがよくあります。しかし、APIとは何ですか?

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

APIという用語は頭字語であり、 "Application Programming Interface"の略です。

レストランのメニューのようなAPIを考えてみましょう。メニューには、注文可能な料理のリストと各料理の説明が表示されます。あなたが好きなメニュー項目を指定すると、レストランのキッチンは仕事をし、完成した料理を提供します。あなたは、レストランがその料理をどのように準備しているかを正確には知らず、本当に必要なことはしません。

同様に、APIには開発者が使用できる一連の操作とその操作の説明が記載されています。開発者は、オペレーティングシステムが「名前を付けて保存」ダイアログボックスをどのように構築し提示するかなど、必ずしも知る必要はありません。彼らは自分のアプリで利用できることを知る必要があります。

これは完璧な隠喩ではありません。開発者が結果を得るためにAPIに独自のデータを提供する必要があるかもしれないので、おそらくキッチンが使用する独自の食材を提供できる素晴らしいレストランのようです。

しかし、それは広く正確です。 APIを使用すると、開発者はプラットフォームの実装を利用して時間を節約し、ぎこちない作業を行うことができます。これにより、開発者が作成する必要があるコードの量が削減され、同じプラットフォームのアプリケーション間で一貫性が向上します。 APIは、ハードウェアおよびソフトウェアリソースへのアクセスを制御できます。

開発者にとってより簡単なAPI

iPhone用のアプリを開発したいとしましょう。 AppleのiOSオペレーティングシステムは、他のすべてのオペレーティングシステムと同様に、多数のAPIを提供しています。

たとえば、Webブラウザを埋め込んで1つ以上のWebページを表示する場合、アプリケーションのために自分のWebブラウザを最初からプログラミングする必要はありません。 WKWebView APIを使用して、WebKit(Safari)ブラウザーオブジェクトをアプリケーションに埋め込みます。

iPhoneのカメラから写真やビデオをキャプチャしたい場合は、独自のカメラインターフェイスを作成する必要はありません。カメラAPIを使用して、iPhoneの内蔵カメラをアプリに埋め込みます。これを簡単にするためのAPIが存在しない場合、アプリ開発者は独自のカメラソフトウェアを作成し、カメラハードウェアの入力を解釈する必要があります。しかし、Appleのオペレーティングシステム開発者はこのような努力をしてきたので、開発者はカメラAPIを使用してカメラを組み込み、その後アプリケーションを開発することができます。 AppleがカメラAPIを改良すると、それに依存するすべてのアプリケーションが自動的にその改善点を利用するようになる。

これはすべてのプラットフォームに適用されます。たとえば、Windowsでダイアログボックスを作成しますか?そのためのAPIがあります。 Androidで指紋認証をサポートしますか?そのためのAPIもありますので、すべてのAndroidメーカーのすべての指紋センサーをテストする必要はありません。開発者は車輪を何度も再開発する必要はありません。

リソースへのアクセスを制御するAPI

APIは、アプリケーションが必ずしも使用許可を得ていない可能性があるハードウェアデバイスおよびソフトウェア機能へのアクセスを制御するためにも使用されます。そのため、APIはしばしばセキュリティにおいて大きな役割を果たします。

たとえば、ウェブサイトにアクセスしてブラウザでメッセージが表示され、ウェブサイトが正確な場所を確認するメッセージを見た場合、そのウェブサイトはウェブブラウザでジオロケーションAPIを使用しようとしています。 WebブラウザはこのようなAPIを公開して、Web開発者があなたの場所に簡単にアクセスできるようにします。あなたはどこにいますか?と尋ねるだけで、ブラウザはGPSや近くのWi-Fiネットワークにアクセスして物理的な場所を見つけることができます。

ただし、ブラウザーはAPIへのアクセスを制御できるため、APIを介してこの情報を公開します。ウェブサイトがあなたの正確な物理的な場所にアクセスすることを望んでいる場合、取得できる唯一の方法はロケーションAPI経由です。また、WebサイトでそのWebサイトを使用しようとすると、ユーザーはこの要求を許可または拒否することができます。 GPSセンサーのようなハードウェアリソースにアクセスする唯一の方法はAPI経由であるため、ブラウザーはハードウェアへのアクセスを制御し、アプリができることを制限することができます。
ただし、ブラウザーはAPIへのアクセスを制御できるため、APIを介してこの情報を公開します。ウェブサイトがあなたの正確な物理的な場所にアクセスすることを望んでいる場合、取得できる唯一の方法はロケーションAPI経由です。また、WebサイトでそのWebサイトを使用しようとすると、ユーザーはこの要求を許可または拒否することができます。 GPSセンサーのようなハードウェアリソースにアクセスする唯一の方法はAPI経由であるため、ブラウザーはハードウェアへのアクセスを制御し、アプリができることを制限することができます。

これと同じ原則は、iOSやAndroidなどの最新のモバイルオペレーティングシステムで使用されています。モバイルアプリケーションには、APIへのアクセスを制御して強制できるアクセス許可があります。たとえば、開発者がカメラAPI経由でカメラにアクセスしようとすると、許可要求を拒否することができ、アプリはデバイスのカメラにアクセスできません。

Windows、Mac、Linuxのようにアクセス権を使用するファイルシステムでは、ファイルシステムAPIによってその権限が強制されます。一般的なアプリケーションでは、物理ハードディスクに直接アクセスすることはできません。代わりに、アプリはAPIを介してファイルにアクセスする必要があります。

サービス間の通信に使用されるAPI

APIは他のあらゆる種類の理由でも使用されます。たとえば、ウェブサイトに埋め込まれたGoogleマップオブジェクトを見たことがある場合、そのウェブサイトはGoogle Maps APIを使用してその地図を埋め込みます。 GoogleはこのようなAPIをWeb開発者に公開しています。Web開発者はAPIを使用して、Webサイトで複雑なオブジェクトを正確に把握できます。このようなAPIが存在しない場合、開発者は独自のマップを作成して、ウェブサイトに小さなインタラクティブマップを配置するだけの独自のマップデータを提供する必要があります。

Googleでは、APIなので、サードパーティのウェブサイトでGoogle Mapsへのアクセスを制御し、Google Mapsのウェブサイトを示すフレームを混乱させるのではなく、一貫性のある方法で使用できるようにします。

これは、多くの異なるオンラインサービスに適用されます。 Google Translateからのテキスト翻訳をリクエストするAPI、またはTwitterからのFacebookコメントやツイートをウェブサイトに埋め込むためのAPIがあります。

OAuth標準では、Facebook、Google、またはTwitterアカウントを使用して、そのサイトだけで新しいユーザーアカウントを作成せずに新しいWebサイトにログインするなど、別のサービスでWebサイトにログインできるAPIもいくつか定義されています。 APIは、開発者がサービスと通信する方法と、その開発者が受け取ると予想される出力の種類を定義する標準的な契約です。

あなたがこれを経験したなら、あなたはAPIが何であるかをより良く知ることができます。最終的には、開発者でない限り、APIが何であるかを知る必要はありません。しかし、ソフトウェアプラットフォームやサービスがさまざまなハードウェアやサービスに新しいAPIを追加したのを見ると、開発者はそのような機能をより簡単に利用できるはずです。

人気のあるトピック

専門家の助言