If you’ve spent even a moderate amount of time around developers or the software industry, chances are you have heard the term ‘API’ thrown around. As likely as it is that plenty of developers love their beer, this term is not referring to any form of liquidated bread loaves. On the contrary, APIs are an incredibly important component of virtually all software, and I’m almost certain that you make use of them frequently without even knowing it.
In this article we’ll define exactly what an API is, skipping past the hifalutin’ - giving you some concrete examples, and additionally detail the benefits of an API.
‘API’ is an acronym which stands for ‘Application Programming Interface’.
An API is a sort of translator that allows one software program to communicate with and benefit from another, without either program needing to perform the actions of the other.
Think of a car.
Now, an API is the ignition, steering wheel, foot pedals and gear stick of a car. You are Program A, and your car is Program B. You need to get somewhere, and as wonderfully talented as you are, program B is much better at getting places than you are.
In order to fulfill its function Program B also happens to be a very complex collection of different parts which you don’t fully understand. Unless you’re one of the few of us who actually understands cars, chances are you have very little idea of what exactly goes on underneath the bonnet.
So Program B is a mystery, and yet you, Program A, are able to get exactly what you need from it without fiddling with the internal parts and breaking something.That’s because the ignition, steering wheel, foot pedals and gear stick have created an interface through which you can ‘communicate’ with your car so that it returns what you need (i.e. transportation).
That’s the essence of an API.
Whilst the car is a brilliant analogy for an API if I do say so myself, you might be hungry for some examples of real APIs.
Most multi-located retail store websites nowadays have a Store Locator option which allows you to search for and find the locations of physical stores. If you’ve ever made use of this feature you may have noticed that the website provides you with a map view featuring various location pins, so that you are actually able to view the relative locations of stores on the map.
Did the retail store, when creating its website, have to build its own satellite and develop its own web map service? Of course not! Instead, the website makes use of the Google Maps API, which allows it to present you with information from Google Maps without you even having to leave the page.
Another increasingly popular use of APIs is with regard to fingerprint authentication on modern smartphones. Most banking apps now enable a user to log in with their fingerprint on fingerprint-enabled phones. Do the banks need to develop their own fingerprint scanning technology? No! An API allows the banking application to interact with the phone’s built-in fingerprint scanning technology.
Here at SOLIDitech we have made extensive use of APIs. For example, APIs that we have developed help our ISP client-side developers render front-end catalogues of their products and services. Others have enabled our clients to manage customer intake and accounts.
Hopefully it’s already evident that APIs are extremely useful. Considering what we’ve learned so far about the purpose of APIs, we can summarize a few of the main advantages of APIs:
Understanding what it API is and how it works forms part of improving your technical understanding. If you're about to embark on a new software project, you'll need strong software project management, effective communication, good feedback loops, testing, technical understanding and customer involvement for a successful outcome. Let me talk you through each of these for this ‘ultimate software project management guide’.
Sources: How to Geek, Free Code Camp, Freepik