Thursday, June 26, 2014

What is an API?

An application programming interface (API) is a set of programming instructions and standards for accessing a Web-based software application or Web tool.   Ok, so what does that mean to you?  Let's try to demystify what it actually means.

The word to really pay attention to is “Interface”. If you have any experience at all with programming, all kinds of abstractions and contracts must be coming to your mind when you hear the word “interface” but we are more interested in the classical meaning of the term.
An interface is a common boundary between two separate systems. It is the means or the medium via which these two systems communicate.

Why do you need it?
You cannot run an API like you would run say a Notepad (a pad of blank or ruled pages for writing notes on) application. This is because APIs are generally invisible to the end users like you and me. APIs are carefully thought out pieces of code created by programmers for their applications that allow other applications to interact with their application.

APIs are specially crafted to expose only chosen functionality and/or data while safeguarding other parts of the application which provides the interface. Creating an API is indeed time well spent, because ultimately the more applications that interact with your application the more popular it becomes.  A really good example of this is Tweet feeds.  There are a lot of web sites these days that you will often find a section of live Tweet feeds. You can interact with Twitter whether you are using a mobile phone, a smart phone, an iPod or a computer. This has been made possible by the excellent Twitter API.

As we have seen, APIs facilitate communication allowing different applications to communicate effectively with each other. So these are really well suited for extending a platform and for mashups (a web page or application created by combining data or functionality from different sources). We have already seen Twitter as an example of how APIs are useful in extending a platform. When you combine data or functionality from more than one application to create another application, you have essentially created a mashup.

Such mashups are extremely popular on the Internet these days. The Internet thrives on communication so it is an ideal place to take advantage of APIs. It is a common practice to expose part of your functionality or data as an API to others on the Web. They can then tap into what you offer, combine it with what they (or someone else) offers and then provide improved and added functionality to their users.

No comments:

Post a Comment