Two separate applications need an intermediary to talk to each other. So, developers often build bridges —  Application Programming Interfaces — to allow one system to access the information or functionality of another.

In order to integrate applications quickly and at scale, APIs are realized using protocols and/or specifications to define the semantics and syntax of the messages passed across the wire. These specifications make up the API architecture.

Over time, different API architectural styles have been released. Each of them has its own patterns of standardizing data exchange. A pull of choices raises endless debates as to which architectural style is best.

Image for post

API styles over time, Source: Rob Crowley

Today, many API consumers refer to REST as “ REST in peace “ and cheer for GraphQL, while ten years ago it was a reverse story with REST as the winner to replace SOAP. The problem with these opinions is that they are one-sided picking a technology itself instead of considering how its actual properties and characteristics match the situation at hand.

In this article, we’ll stay objective and discuss the four major API styles in the order of their appearance, compare their strong and weak sides, and highlight the scenarios where each of them fits best.

#graphql #api #rpc

SOAP vs. REST vs. GraphQL vs. RPC - Comparing API Architectural Styles
62.35 GEEK