HDGの説明:APIとは何ですか?

紛らわしくてなじみのない略語(confusing and unfamiliar acronyms)でいっぱいのインターネットでは、混乱しがちです。聞いたことはあるかもしれませんが、調べたいと思ったことのないWebの頭字語の1つは、「API」です。

APIとは何ですか?APIは、(API)アプリケーションプログラミングインターフェイス( application programming interface)の頭字語であり、ソフトウェアアプリケーションの構築プロセスをはるかに簡単にする一連のルーチンとプロトコルの名前です。

APIを確認する簡単な方法は、ソフトウェアのコンポーネントに相互作用する方法を指示するロードマップとしてです。APIを使用しないと、ソースコードはごちゃごちゃした混乱した混乱のように見える可能性があります。

ただし、API(APIs)は複雑であり、簡単な要約以上のものが必要です。この記事では、 API(APIs)がどのように機能し、どのサイトやサービスがAPIを使用しているかを見ていきましょう。

APIとは何ですか?どのように機能しますか?(What Is An API and How Does It Work?)

APIがソフトウェアを正しい方向に向ける一連のルーチンであることを確認したので、これはどのように正確に機能しますか?

APIのコア機能を説明する最良の方法は、実際の例を提供することです。GrubHubなどのフード(Food)デリバリーサービスは現在非常に人気があるので、このようなモバイルアプリの背後にあるコードがどのように機能するかについて説明しましょう。

これらのアプリのいずれかでレストランや食べ物を検索すると、キーワードと場所に基づいて関連する結果が表示されます。結果を選択すると、食品のオプション、配達時間、およびレストラン固有のオプションが表示されます。

配信をスケジュールするには、配信Webサイトとデータベース間の接続が必要です。Webサイトがフロントエンドであり、データベースがバックエンドです。データベースは、これらすべてのレストランのデータ、場所ごとの空き状況、営業スケジュール、メニューなどを保存するものです。

APIは、このデータベースと、そのデータを表示しているWebサイトまたはアプリとの間の接続です。主にサードパーティの統合が人気があるため、ハードコードされたデータを使用するのではなく、この接続を作成するために APIが存在することが重要です。

たとえば、サードパーティのアグリゲーターが利用可能なすべてのレストランとアイテムを一覧表示して整理できれば、Webサイトにとって有益ですよね。APIがなければ、これは非効率的なWebスクレイピング技術を使用せずに実現することはできません。

APIは、データベースからアプリケーション(Webサイト、モバイルアプリ、その他)にデータを配信するためのインターフェイスです。API(APIs)は、Webを介してアプリケーションデータにアクセスして通信するための標準的な方法になりました。サードパーティの接続に依存するすべての主要なWebサイトまたはサービスは、APIを提供することで大きなメリットがあります。

どのような種類のAPIがありますか?(What Types Of APIs Are There?)

APIプロトコルには複数の種類がありますが、最も一般的な3つは、SOAPSimple Object Access Protocol)、RESTRepresentational State Transfer)、およびRPCRemote Procedure Call)です。

SOAP API(SOAP APIs)

SOAPは1990年代後半に最初に導入され、アプリケーションがネットワーク接続を使用して簡単な方法でリソースを共有できるようにしました。SOAPは、 (SOAP)HTTPSMTPなどの標準プロトコルに依存しています。これらのプロトコルは人気があるため、実質的にすべての環境で使用できます。

その主な強みは、広く使用され、確立されていることです。壊れていない場合は、修正しないでください。

REST API(REST APIs)

RESTは、2000年にRoyFieldingによって導入されまし(Roy Fielding)その当面の目標は、 SOAP(SOAP)の普及によって引き起こされた多くの問題への対応として機能することでした。

SOAPと同様に、RESTはアプリケーション間で情報を転送するためにHTTPに依存しています。ただし、 XML(XML)データ形式を介してデータを送信する必要があるSOAPとの大きな違いの1つは、 JSONをサポートしていることです。JSONは、読み取りと書き込みが簡単であることに多くの人が同意するデータ形式です。さらに、REST API(REST APIs)はデータをキャッシュできるため、パフォーマンスが大幅に向上します。

Cloud Elementsによる2017年のレポートによると、 RESTは現在すべてのAPI(APIs)の80%以上を占めています。

RPC API(RPC APIs)

RPC API(RPC APIs)にはさまざまな種類がありますが、 REST API(REST APIs)から学んだように、JSONは非常に人気のあるデータ形式であるため、JSON-RPCが最も人気があります。

JSON-RPCは、 (JSON-RPC)APIの単純さに依存するミニマリストやユーザーに最適なプロトコルです。SOAPRESTと比較すると、範囲がはるかに狭く、柔軟性とコマンドのセットが非常に制限されていますが、一部の開発者にとっては、少ないほうが多いです。

gRPCなどの他のRPCベースのAPIタイプもありますが、実装の単純さを優先する場合は、JSON-RPCが頼りになります。(JSON-RPC)

APIを使用するのは誰ですか?(Who Uses APIs?)

フロントエンドであれバックエンドであれ、あらゆる種類の開発者はAPI(APIs)の使用経験が必要です。WebサイトまたはWebサービスに関しては、実質的にすべての主要なプレーヤーが何らかのAPIを(API)利用できます。最も明白なのはWindowsです。

Microsoft Windowsは地球上で最も人気のあるオペレーティングシステムであるため、アプリケーション開発者がUIの操作方法に関する一連のガイドラインを必要とするのは当然のことです。Windows APIにアクセスできない場合、オペレーティングシステムとの対話に大きく依存するアプリケーションをプログラミングすることは大きな頭痛の種になります。

そこには何千ものAPI(APIs)があり、いくつかは無料で、いくつかは有料です。調べる価値のあるいくつかの例を次に示します。

APIs are one of the key connectors behind some of the web’s largest and most important websites and applications. While the average user may not be able to see the benefit that APIs provide, they are a godsend to developers and web services.



About the author

私はモバイル業界で 10 年以上の経験を持つ電話エンジニアで、スマートフォンの修理とアップグレードを専門としています。私の仕事には、電話ファームウェアの開発と保守、Apple デバイス用のイメージの開発、Firefox OS プロジェクトでの作業が含まれます。ソフトウェア開発、ハードウェア エンジニアリング、画像処理、Firefox OS 開発のスキルを活かして、複雑な問題を解決し、あらゆるデバイスで機能するシンプルなソリューションに変えることができます。



Related posts