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.
So - What is 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.
A Non-Techie Example of an API
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.
Some Real-World Examples
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.
Store Locator Map
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.
The Benefits of APIs
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:
- Outsourcing. As we’ve alluded earlier, APIs provide developers and users with access to functionality or information not provided by the software being used. When one application can outsource certain functions to another application, developers are spared the additional time and effort that would have been needed to develop these functions from scratch.
- Convenience. An application that houses all of the functionality a user might need is far more convenient than requiring users to jump between various applications, e.g. a website that can show a user all of your stores on a map prevents users from having to navigate to Google Maps and look up each store individually.
- Increased value. Whilst it may seem that APIs are charity that benefit only the consumers, when a developer makes an API available to others the value of her application is greatly increased. Imagine you had an airline company with a database full of flight schedules and seating availability - without an API to retrieve this information, no flight booking brokerage sites would be able to advertise and sell tickets for your airline.
- Security. Not only do APIs allow others to access the functionality and information of an application, but they also determine how and what other applications access. Think of an API like an ATM - if the bank let every client who wanted to withdraw money into the bank vault, chances are it would lose more money than expected. But the ATM provides a wall of security that dictates how and how much money can be withdrawn.