紛らわしくてなじみのない略語(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つは、SOAP(Simple Object Access Protocol)、REST(Representational State Transfer)、およびRPC(Remote Procedure Call)です。
SOAP API(SOAP APIs)
SOAPは1990年代後半に最初に導入され、アプリケーションがネットワーク接続を使用して簡単な方法でリソースを共有できるようにしました。SOAPは、 (SOAP)HTTPやSMTPなどの標準プロトコルに依存しています。これらのプロトコルは人気があるため、実質的にすべての環境で使用できます。
その主な強みは、広く使用され、確立されていることです。壊れていない場合は、修正しないでください。
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の単純さに依存するミニマリストやユーザーに最適なプロトコルです。SOAPやRESTと比較すると、範囲がはるかに狭く、柔軟性とコマンドのセットが非常に制限されていますが、一部の開発者にとっては、少ないほうが多いです。
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.
HDG Explains: What Is An API?
On an internet filled with confusing and unfamiliar acronyms, it can be easy to become confused. One web acronym you may have heard but never felt inspired to look into is “API”.
What is an API? API is an acronym for application programming interface, and is a name for a set of routines and protocols that make the process of building software applications much easier.
A simple way to look at an API is as a roadmap that tells the components of a piece of software how to interact. Without the use of an API, source code could look like a jumbled, confusing mess.
However, APIs are complex and require more than a brief summarization. In this article, let’s go over how APIs work and what sites and services use them.
What Is An API and How Does It Work?
Now that we have established that an API is a set of routines that point software in the right direction, how exactly does this all work?
The best way to explain the core functionality of an API is to provide a real-world example. Food delivery services, such as GrubHub, are incredibly popular right now, so let’s discuss how the code behind mobile apps like these might work.
When you search for a restaurant or item of food on one of these apps, you receive relevant results based on your keywords and location. Upon selecting a result, you’re presented with food item options, delivery times, and more restaurant-specific options.
To schedule your delivery, a connection between the delivery website and a database must occur—the website being the frontend and the database being the backend. The database is what stores the data for all of these restaurants, their availability per location, operation schedule, menus, and more.
The API is the connection between this database and the website or app that is presenting its data. It’s important that an API is present to create this connection, rather than using hard-coded data, primarily because of the popularity of third-party integrations.
For example, it would be beneficial for a website if third-party aggregators were able to list and organize all of the restaurants and items it has available, right? Without an API, this wouldn’t be possible without using inefficient web-scraping techniques.
The API is the interface responsible for delivering the data from the database to the application, be it a website, mobile app, or anything else. APIs have become the standard way of accessing and communicating application data across the web, and every major website or service that depends on third-party connectivity greatly benefits by providing one.
What Types Of APIs Are There?
There are multiple different types of API protocols, but the three most popular are SOAP (Simple Object Access Protocol), REST (Representational State Transfer), and RPC (Remote Procedure Call).
SOAP APIs
SOAP was first introduced in the late 1990s and enabled applications to share resources in a simple way through using network connections. SOAP relies on standard protocols, such as HTTP and SMTP, which enable it to be used across practically every environment due to the popularity of such protocols.
Its main strength is that it is widely used and established. If it ain’t broke, don’t fix it.
REST APIs
REST was introduced in 2000 by Roy Fielding. Its immediate goal was to act as a response to many of the issues that were created by the widespread adoption of SOAP.
Similar to SOAP, REST relies on HTTP to transfer information between applications. However, one major difference that sets it apart from SOAP, which requires data to be transmitted via the XML data format, is that it supports JSON. JSON is a data format that many agree is easier to read and write. Additionally, REST APIs can cache data, allowing for much better performance.
REST now accounts for more than 80% of all APIs, according to a 2017 report by Cloud Elements.
RPC APIs
RPC APIs come in many flavors, but as we learned from REST APIs, JSON is a very popular data format, so JSON-RPC is its most popular.
JSON-RPC is a protocol best suited for minimalists and users who rely on the straightforwardness of their API. Its much narrower in scope when compared to SOAP and REST, and it’s very limited in its flexibility and set of commands—but for some developers, less is more.
There are other RPC-based API types, such as gRPC, but JSON-RPC is the go-to if your priority is the simplicity of implementation.
Who Uses APIs?
Developers of any kind, be it frontend or backend, should have experience working with APIs. In terms of websites or web services, practically all of the major players have some sort of API available—the most obvious being Windows.
With Microsoft Windows being the most popular operating system on the planet, it’s only natural that application developers will need a set of guidelines for how to interact with its UI. Without access to the Windows API, programming an application that relies heavily on interacting with the operating system would be a major headache.
There are thousands of APIs out there, some free and some paid. Here are just a few examples worth looking into:
- Google Play Developer API: Publishing and app-management tasks related to Google Play
- Skyscanner APIs: Travel-based APIs relating to flights, car hires, and more
- Twilio API: Allows programmatic sending and receiving of phone calls
- Discord API: Allows users to create the bots that make Discord the messaging service it is today
- IPinfo API: On-the-fly IP address and geolocation data for your website or app
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.