It´s time to talk about Application programming interfaces, that thing all of us young software developers has used at least one time and maybe without knowing what it is:
In Jeff Standen words:
You can consider an API as the alternative “user interface” that software uses to interact with other software.
We humans are familiar with user interfaces that have fancy layouts with buttons, fonts, colors, graphics, etc; and most of that is unnecessary to a machine. Machines wouldn’t open up a program or website, take a screenshot of that section of the monitor, and then try to parse its meaning visually like a human would.
Machines just need a shorthand way to do things like checking the current weather or adding an event to your calendar. That’s what an API provides.
APIs can be web-based, or specific to a platform. Google has APIs for search, calendars, translations, etc. Facebook and Twitter have APIs that allow software to automatically post status updates. Apple provides many APIs for building iPhone apps.
So, APIs gives us the option to make more “easy” the way we program and connect to other software. Let´s tink in an example:
Imagine a 70´s or earliest car, the one that needs to be “recharged” with a pulley to obtain enough power to be moved, you constantly needed to check for water, oil and conditions of the car and the only thing you were able to see were the velocity in a tiny indicator.
Let´s have a look at the other side of the coin. Nowadays, cars starts with a button, you don´t need other thing that see the screen in the car to know all the state of it (in modern ones), velocity, temperatures and also oil with many other things that can also be fixed by themselves.
Is something related with APIs, you have an interface, that allows inter-communication between procesess or softewares and users
How APIs Work
These days, APIs are especially important because they dictate how developers can create new apps that tap into big Web services—social networks like Facebook or Pinterest, for instance, or utilities like Google Maps or Dropbox.3 The developer of a game app, for instance, can use the Dropbox API to let users store their saved games in the Dropbox cloud instead of working out some other cloud-storage option from scratch.
When you search for nearby restaurants in the Yelp app for Android, for instance, it will plot their locations on Google Maps instead of creating its own maps. Via the Google Maps API, the Yelp app passes the information it wants plotted—restaurant addresses, say, along with the Yelp star rating and more—to an internal Google Maps function that then returns a Map object with restaurant pins in it at the proper locations. Which Yelp can then display inside its app. (On iOS, Yelp taps Apple’s Maps API for the same purpose.)
We see APIs like this all the time. Elsewhere on this page you should see the icons to share this post on Facebook, Google+, Twitter or LinkedIn. These are just links that call on the APIs associated with each of those services to allow users to Tweet or post about an article without leaving the site itself. APIs also allow more of the options on this post, added few days ago.
Feel free to check in detail how APIs work at: