About Network APIs Application Programming Interfaces

About Network APIs Application Programming Interfaces

About Network APIs (Application Programming Interfaces) GA S REGULAR Menu Lifewire Tech for Humans Newsletter! Search Close GO Internet, Networking, & Security > Home Networking 33 33 people found this article helpful

About Network APIs (Application Programming Interfaces)

APIs open up the world of computer networks to software developers

By Bradley Mitchell Bradley Mitchell Writer Massachusetts Institute of Technology University of Illinois An MIT graduate who brings years of technical experience to articles on SEO, computers, and wireless networking. lifewire's editorial guidelines Updated on June 29, 2021 Tweet Share Email Tweet Share Email

In This Article

Expand Jump to a Section What Is an API APIs & Socket Programming Remote Procedure Calls SOAP REST The Future of APIs An Application Programming Interface (API) allows computer programmers to access the functionality of published software modules and services on the web. APIs play an important role in app development and network programming. Learn more about what an API is and why developers use them.

What Is an API

An API defines data structures and subroutine calls that extend existing applications with new features. They are also used to build new applications on top of other software components. On the web, APIs make it possible to integrate apps with services such as Google Maps and Facebook. Some APIs support network programming. Network programming is a type of software development for applications that connect and communicate over computer networks, including the internet. Network APIs provide entry points to protocols and reusable software libraries. Network APIs support web browsers, web databases, and many mobile apps. They are widely supported across many programming languages and operating systems.

APIs and Socket Programming

Traditional network programming followed a client-server model. The primary APIs used for client-server networking were implemented in socket libraries built into operating systems. For example, Berkeley sockets and Windows Sockets (Winsock) APIs were the two primary standards for socket programming for many years.

Remote Procedure Calls

RPC APIs extend basic network programming techniques by adding the capability for applications to invoke functions on remote devices instead of only sending messages to them. With the explosion of growth on the web, XML-RPC has emerged as a popular mechanism for RPC.

Simple Object Access Protocol SOAP

SOAP was developed in the late 1990s as a network protocol using XML as its message format and HyperText Transfer Protocol (HTTP) as its transport. SOAP generated a loyal following of web services programmers and became widely used for enterprise applications.

Representational State Transfer REST

REST is another programming model that supports web services. Like SOAP, REST APIs use HTTP, but instead of XML, REST applications often use a Javascript Object Notation (JSON). REST and SOAP differ in their approaches to state management and security, both key considerations for network programmers. Mobile apps may or may not use network APIs, but ones that do often use REST.

The Future of APIs

Both SOAP and REST continue to be actively used for the development of new web services. Being a newer technology than SOAP, REST is more likely to evolve and produce other offshoots of API development. Operating systems have also evolved to support the many new Network API technologies. In modern operating systems such as Windows 10, for example, sockets continue to be a core API, with HTTP and other additional support layered on top for RESTful style network programming. As is often the case in computer fields, newer technologies tend to roll out faster than old ones become obsolete. Look for interesting new API developments to happen especially in the areas of cloud computing and the Internet of Things (IoT), where the characteristics of devices and their usage models are different from traditional network programming environments. Was this page helpful? Thanks for letting us know! Get the Latest Tech News Delivered Every Day Subscribe Tell us why! Other Not enough details Hard to understand Submit More from Lifewire What Is Microsoft Azure? How to Fix Oci.dll Is Missing or Not Found Errors How Web Browsers and Web Servers Communicate What Is a Web Application? Introduction to Client Server Networks What Is Port 0 Used For? Socket Programming for Computer Networking - Summary 15 Best Free Remote Access Software Tools (Oct. 2022) Port Numbers Used for Computer Networks What Is a Server? What Is Computer Networking? What Is Virtual Network Computing (VNC)? The Best Mac Desktop Publishing Software of 2022 Mobile Game Programming and Development How-to What Is a LAN (Local Area Network)? How to Run EXE Files on a Mac Newsletter Sign Up Newsletter Sign Up Newsletter Sign Up Newsletter Sign Up Newsletter Sign Up By clicking “Accept All Cookies”, you agree to the storing of cookies on your device to enhance site navigation, analyze site usage, and assist in our marketing efforts. Cookies Settings Accept All Cookies
Share:
0 comments

Comments (0)

Leave a Comment

Minimum 10 characters required

* All fields are required. Comments are moderated before appearing.

No comments yet. Be the first to comment!