APIs

API stands for application programming interface, and it’s a software intermediary that allows two applications to talk to each other.  In other words, an API is the messenger that delivers your request to the provider that you’re requesting it from and then delivers the response back to you. 

An API defines functionalities that are independent of their respective implementations. This allows those implementations and definitions to vary without compromising each other. Therefore, a good API makes it easier to develop a program by providing the building blocks.

When developers create code, they don’t often start from scratch thanks to the reusability of APIs. APIs enable developers to make repetitive yet complex processes highly reusable with a little bit of code.

Through API reuse, developers can reduce repetitive yet complex processes and dramatically speed up their application development processes. Thanks to API reuse, developers don’t have to reinvent the wheel writing code from scratch every time they produce a new program or project.

Imagine a waiter in a restaurant. You, the customer, are sitting at the table with a menu of choices to order from, and the kitchen is the provider who will fulfill your order.

You need a link to communicate your order to the kitchen and then to deliver your food back to your table. It can’t be the chef because they’re cooking in the kitchen. You need something to connect the customer who’s ordering food and the chef who prepares it. That’s where the waiter - or the API - enters the picture.

The waiter takes your order, delivers it to the kitchen, telling the kitchen what to do. It then delivers the response, in this case, the food, back to you. Moreover, if the API is designed correctly, hopefully, your order won’t crash!