The default data serialization format is Protocol Buffers.
Targeted primarily at microservices. "bandwidth and CPU efficient, low latency way to create massively distributed systems that span data centers, as well as power mobile apps, real-time communications, IoT devices and APIs."
why one would use gRPC over REST for microservices?
gRPC largely follows HTTP semantics over HTTP/2 but explicitly allow for full-duplex streaming.
Use only static paths for performance reasons during call dispatch, as parsing call parameters from paths, query parameters and payload body adds latency and complexity.
Also formalized a set of errors that is believed to be more directly applicable to API uses cases than the HTTP status codes.
Mobile friendly. Support for generating client libraries for iOS and Android and running on HTTP/2. "bidirectional streaming, flow control, header compression, and multiplexing requests over a single TCP connection will save battery life and data usage on mobile devices".