Let first start by explaining the literal meaning of API, it means Application programming interface, so this is an interface for communication between applications, it sounds like a difficult concept, but it shouldn't be like that, in fact, the concept is relatively easy to understand and to achieve that I will use a real-world example: an electrical outlet and a plug.
An electrical plug is an interface of an electrical connection, which is plugged into the wall electrical outlet. This outlet is not aware of what household appliance is connected to it, it could be a washing machine, blender, television, or laptop. In the same way, the household appliance does not care about how the wall socket obtains its electricity or what exactly is behind it because it simply uses it.
An API is not different, this interface would be like the electrical outlet on the wall, since is an interface, the only thing is that instead of electricity it provides information. Applications use this API to get data and process them on a web application, a videogame, or whatever application needs it.
There resides the importance and the trend of using API, which occurs because they are flexible and versatile, allowing any application or informatic system to get a data source using the HTTP protocol for communication, this means that the source of the information is separated from the client this provides another advantage and that is great.
These are some of the advantages that an API provides:
- You can reutilize the backend architecture for many applications.
- You can communicate two applications that have different technologies since the communication through API is technology agnostic.
- It allows abstractions since it makes it possible to use software without knowing how exactly it works, this creates low dependency and high decoupling.
These concepts are the most important to understand what an API is, now that you have the idea, let's define API formally: An API is a set of defined interfaces that allow a set of external applications to consume the web application software and data.
If you liked this article, please share it on your social media. Make it visible! 😉🙌🧑💻👩💻