혼란스럽고 생소한 두문자어(confusing and unfamiliar acronyms) 로 가득 찬 인터넷 에서는 쉽게 혼동될 수 있습니다. 들어본 적이 있지만 한 번도 생각해 본 적이 없는 웹 약어 중 하나는 "API"입니다.
API 란 무엇입니까 ? API 는 (API)애플리케이션 프로그래밍 인터페이스( application programming interface) 의 약자로 소프트웨어 애플리케이션을 훨씬 쉽게 구축할 수 있도록 하는 일련의 루틴 및 프로토콜의 이름입니다.
API 를 보는 간단한 방법 은 소프트웨어의 구성 요소에 상호 작용하는 방법을 알려주는 로드맵입니다. API 를 사용하지 않으면 소스 코드가 뒤죽박죽 혼란스러워 보일 수 있습니다.
그러나 API(APIs) 는 복잡하고 간단한 요약 이상의 것이 필요합니다. 이 기사에서는 API가 작동하는 방식 과 API(APIs) 를 사용하는 사이트 및 서비스에 대해 알아보겠습니다.
API란 무엇이며 어떻게 작동합니까?(What Is An API and How Does It Work?)
이제 API 가 소프트웨어를 올바른 방향으로 가리키는 일련의 루틴이라는 사실을 확인했으므로 이 모든 것이 정확히 어떻게 작동합니까?
API 의 핵심 기능을 설명하는 가장 좋은 방법 은 실제 예제를 제공하는 것입니다. GrubHub 와 같은 음식(Food) 배달 서비스 는 현재 매우 인기가 있으므로 이와 같은 모바일 앱의 코드가 작동하는 방식에 대해 논의해 보겠습니다.
이러한 앱 중 하나에서 레스토랑이나 음식 항목을 검색하면 키워드 및 위치를 기반으로 관련 결과를 받게 됩니다. 결과를 선택하면 음식 항목 옵션, 배달 시간 및 더 많은 레스토랑별 옵션이 표시됩니다.
배달을 예약하려면 배달 웹사이트와 데이터베이스(프론트엔드가 되는 웹사이트와 백엔드가 되는 데이터베이스) 간에 연결이 이루어져야 합니다. 데이터베이스는 이러한 모든 레스토랑의 데이터, 위치별 가용성, 운영 일정, 메뉴 등을 저장하는 것입니다.
API 는 이 데이터베이스와 해당 데이터를 표시하는 웹사이트 또는 앱 간의 연결입니다. 주로 타사 통합의 인기로 인해 하드 코딩된 데이터를 사용하는 것보다 이 연결을 생성하기 위해 API 가 존재 하는 것이 중요합니다 .
예를 들어, 타사 애그리게이터가 사용 가능한 모든 레스토랑과 항목을 나열하고 구성할 수 있다면 웹사이트에 도움이 될 것입니다. 그렇죠? API 가 없으면 비효율적인 웹 스크래핑 기술을 사용하지 않고는 불가능합니다.
API 는 웹사이트, 모바일 앱 등 데이터베이스에서 애플리케이션으로 데이터를 전달하는 역할을 하는 인터페이스입니다. API(APIs) 는 웹을 통해 애플리케이션 데이터에 액세스하고 통신하는 표준 방법이 되었으며 타사 연결에 의존하는 모든 주요 웹사이트 또는 서비스는 API를 제공함으로써 큰 이점을 얻습니다.
어떤 유형의 API가 있습니까?(What Types Of APIs Are There?)
API 프로토콜 에는 여러 유형이 있지만 가장 많이 사용되는 세 가지는 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년 Roy Fielding 에 의해 도입되었습니다 . 그것 의 즉각적인 목표 는 SOAP(SOAP) 의 광범위한 채택 에 의해 생성된 많은 문제 에 대한 응답 으로 작동 하는 것이 었습니다 .
SOAP 와 유사하게 REST 는 (REST)HTTP 에 의존하여 애플리케이션 간에 정보를 전송합니다. 그러나 XML(XML) 데이터 형식 을 통해 데이터를 전송해야 하는 SOAP 와 구별되는 한 가지 주요 차이점 은 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) 작업 경험이 있어야 합니다 . 웹사이트나 웹 서비스와 관련하여 거의 모든 주요 업체에서 일종의 API를(API) 사용할 수 있습니다. 가장 확실한 것은 Windows 입니다.
Microsoft Windows 가 지구상에서 가장 인기 있는 운영 체제이기 때문에 응용 프로그램 개발자가 UI와 상호 작용하는 방법에 대한 일련의 지침이 필요한 것은 당연합니다. Windows API 에 대한 액세스가 없으면 운영 체제와의 상호 작용에 크게 의존하는 응용 프로그램을 프로그래밍하는 것이 큰 골칫거리가 될 것입니다.
수천 개의 API(APIs) 가 있으며 일부는 무료이고 일부는 유료입니다. 다음은 살펴볼 가치가 있는 몇 가지 예입니다.
API(APIs) 는 웹에서 가장 크고 중요한 일부 웹사이트 및 애플리케이션의 핵심 커넥터 중 하나입니다. 일반 사용자는 API(APIs) 가 제공 하는 이점을 보지 못할 수도 있지만 개발자와 웹 서비스에는 신의 선물입니다.
HDG Explains: What Is An API?
On an іnternet 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.