Application programming interface (API)

Application programming interfaces (APIs) are special coding for applications to communicate with one another. They give programs, software, and the designers of the applications the ability to control which interfaces have access to an application without closing it down entirely. APIs are commonly used in a variety of applications, including social media networks, shopping websites, and computer operating systems.

APIs have existed since the early twenty-first century. However, as computing technology has evolved, so has the need for APIs. Online shopping, mobile devices, social networking, and cloud computing all saw major developments in API engineering and usage. Most computer experts believe that future technological developments will require additional ways for applications to communicate with one another.

Background

An application is a type of software that allows the user to perform one or more specific tasks. Applications may be used across a variety of computing platforms. They are designed for laptop or desktop computers and are often called desktop applications. Likewise, applications designed for cellular phones and other mobile devices are known as mobile applications.

When in use, applications run inside a device's operating system. An operating system is a type of software that runs the computer's basic tasks. Operating systems are often capable of running multiple applications simultaneously, allowing users to multitask effectively.

Applications exist for a wide variety of purposes. Software engineers have crafted applications that serve as image editors, word processors, calculators, video games, spreadsheets, media players, and more. Most daily computer-related tasks are accomplished with the aid of applications.

Overview

APIs are coding interfaces that allow different applications to exchange information in a controlled manner. Before APIs, applications came in two varieties: open source and closed. Closed applications cannot be communicated with in any way other than directly using the application. The code is secret, and only authorized software engineers have access to it. In contrast, open source applications are completely public. The code is free for users to dissect, modify, or otherwise use as they see fit.

APIs allow software engineers to create a balance between these two extremes. When an API is functioning properly, it allows authorized applications to request and receive information from the original application. The engineer controlling the original application can modify the signature required to request this information at any time, thus immediately modifying which external applications can request information from the original one.

There are two common types of APIs: code libraries and web services APIs. Code libraries operate on a series of predetermined function calls, given either to the public or to specified developers. These function calls are often composed of complicated code, and they are designed to be sent from one application to another. For example, a code library API may have predetermined code designed to fetch and display a certain image, or to compile and display statistics. Web services APIs, however, typically function differently. They specifically send requests through HTTP channels, usually using XML or JSON languages. These APIs are often designed to work in conjunction with a web browser application.

Many of the first APIs were created by Salesforce, a web-based corporation. Salesforce launched its first APIs at the IDG Demo Conference in 2000. It offered the use of its API code to businesses for a fee. Later that year, eBay made its own API available to select partners through the eBay Developers Program. This allowed eBay's auctions to interface with a variety of third-party applications and webpages, increasing the site's popularity.

In 2002, Amazon released its own API, called Amazon Web Services (AWS). AWS allowed third-party websites to display and directly link to Amazon products on their own websites. This increased computer users' exposure to Amazon's products, further increasing the web retailer's sales.

While APIs remained popular with sales-oriented websites, they did not become widespread in other areas of computing until their integration into social media networks. In 2004, the image-hosting website Flickr created an API that allowed users to easily embed photos hosted on their Flickr accounts onto webpages. This allowed users to share their Flickr albums on their social media pages, blogs, and personal websites.

Facebook implemented an API into its platform in August of 2006. This gave developers access to users' data, including their photos, friends, and profile information. The API also allowed third-party websites to link to Facebook; this let users access their profiles from other websites. For example, with a single click, Facebook users were able to share newspaper articles directly from the newspaper's website.

Google developed an API for its popular application Google Maps as a security measure. In the months following Google Maps' release, third-party developers hacked the application to use it for their own means. In response, Google built an extremely secure API to allow it to meet the market's demand to use Google Maps' coding infrastructure without losing control of its application.

While APIs were extremely important to the rise of social media, they were even more important to the rise of mobile applications. As smartphones became more popular, software engineers developed countless applications for use on them. These included location-tracking applications, mobile social networking services, and mobile photo-sharing services.

The cloud computing boom pushed APIs into yet another area of usage. Cloud computing involves connecting to a powerful computer or server, having that computer perform any necessary calculations, and transmitting the results back to the original computer through the Internet. Many cloud computing services require APIs to ensure that only authorized applications are able to take advantage of their code and hardware.

Bibliography

Barr, Jeff. "API Gateway Update – New Features Simplify API Development." Amazon Web Services, 20 Sept. 2016, aws.amazon.com/blogs/aws/api-gateway-update-new-features-simplify-api-development/. Accessed 30 Dec. 2022.

Goodwin, Michael. "What Is an API?" IBM, 9 Apr. 2024, www.ibm.com/topics/api. Accessed 14 Nov. 2024.

"History of APIs." API Evangelist, 20 Dec. 2012, apievangelist.com/2012/12/20/history-of-apis/. Accessed 29 Dec. 2016.

"History of Computers." University of Rhode Island, homepage.cs.uri.edu/faculty/wolfe/book/Readings/Reading03.htm. Accessed 29 Dec. 2016.

Orenstein, David. "Application Programming Interface." Computerworld, 10 Jan. 2000, www.computerworld.com/article/2593623/app-development/application-programming-interface.html. Accessed 30 Dec. 2022.

Patterson, Michael. "What Is an API, and Why Does It Matter?" SproutSocial, 3 Apr. 2015, sproutsocial.com/insights/what-is-an-api. Accessed 29 Dec. 2016.

Roos, Dave. "How to Leverage an API for Conferencing." HowStuffWorks, money.howstuffworks.com/business-communications/how-to-leverage-an-api-for-conferencing1.htm. Accessed 29 Dec. 2016.

Wallberg, Ben. "A Brief Introduction to APIs." University of Maryland Libraries, 24 Apr. 2014, dssumd.wordpress.com/2014/04/24/a-brief-introduction-to-apis/. Accessed 29 Dec. 2016.

"What is an API?" IBM, www.ibm.com/topics/api. Accessed 30 Dec. 2022.

"What Is an Application?" Goodwill Community Foundation, www.gcflearnfree.org/computerbasics/understanding-applications/1/. Accessed 29 Dec. 2016.