gRPC, Restful API, GraphQL, Web Socket, TCP Sockets and UDP, WebTransport — Beyond modern client server communications

Amir Kamali
12 min readNov 27, 2020

Architecting a distributed system requires a good understanding of available technologies. Each technology can be used like a tool in a toolbox to solve real world problems. In this article, I will discuss modern protocols and frameworks with their pros and cons along with some tips and tricks of using them are explained. Additionally if you’re interested in finding the latest trends, I have included the future standards and technologies that will soon be available.

REST API:

Rest APIs are the simplest and most common way of communication between a server and a client. REST is acronym for REpresentational State Transfer. The technical implementation of REST APIs is not the purpose of this article. However, if you’re interested in learning more I have included some good references at the end of the article.

Using Http protocol clients can use different verbs such as GET, PUT, POST, PATCH and DELETE to access or update content on the remote machine.

HTTP GET /devices?startIndex=0&size=20

HTTP POST /configurations

HTTP DELETE /configurations/{id}

--

--

Amir Kamali

Application Architect, Apple | ex. Director of Mobile & OTT at AMC Networks, ex. Engineering Manager at Tile / Life360