
This was also one of the reasons two new approaches emerged later: Facebook’s GraphQL and gRPC from Google. This was the main difference between RPC and REST since with RPC, you address the procedures and there’s little predictability of what procedures in different systems may be.Īlthough REST presented an improved format for interacting with many systems, it returned a lot of metadata, which was the main reason it couldn’t replace simple and lightweight RPC. REST APIs are basically self-descriptive. Namely, it provided a uniform way to access data indirectly, via resources, using generic HTTP methods such as GET, POST, PUT, DELETE, and so on.

When REST (Representational State Transfer) was introduced in 2000, it was meant to solve this problem and make APIs more accessible.

Written in different programming languages, tightly coupled with the underlying systems, RPC APIs are difficult to integrate and unsafe to share as they may leak inner implementation details. RPC is an efficient way to build APIs RPC messages are lightweight and the interactions are straightforward.īut the more businesses open ways for integration creating the so-called API economy, the harder it is to integrate those systems. It uses procedure calls to request a service from a remote server the same way you would request a local system - via direct actions to the server (like SendUserMessages, LocateVehicle, addEntry). RPC (Remote Procedure Call) is classic and the oldest API style currently in use. Watch an overview of main API types in our video You will also hear about GraphQL, gRPC’s peer in terms of age. There’s also SOAP, an ancient protocol that is mostly used in strictly standardized operations like banking and aviation. Traditionally, there have been two distinct ways to build APIs: RPC and REST. To understand what this means in comparison to other API building styles, let’s look at API design’s timeline first. GRPC is a framework for implementing RPC APIs via HTTP/2. Today, we want to explore a new and interesting API design style that promises to solve problems other styles weren’t fully able to. Previously, we covered the main differences between SOAP vs REST vs GraphQL vs RPC.

Who will be using your API? What network or performance constraints will they be dealing with? What talent and budget is needed to maintain that connection? The more detail we go into, the more problems that need solving. We usually build APIs to solve one of two (or both) very specific problems - reaching desired functionality by connecting various applications and opening your application for integration by others. No, you don’t need to switch from REST Reading time: 8 minutes.What is gRPC and why was it introduced?.
