Why We’re Switching to gRPC
When you create a new gRPC service, the first step is always to define the interface in a file. With this file, you can then generate client and server code using the compiler, and you can start writing code that provides or consumes the API. Although building gRPC APIs requires a bit more work upfront, we found that having clear API specifications and good support for streaming more than makes up for that.
Source: eng.fromatob.com