RESTful services are great for their simplicity. Any device as simple as a battery-powered microcontroller can consume them. It doesn’t matter what technology stack do you use. REST just don’t do anything wrong; the problem is that it doesn’t do much at all.
The specification is so simple that it lets you on your own when it comes to contract sharing, bi-directional communication, streaming and other real-world requirements. Even if your API doesn’t need any advanced feature, you will, at the very least, want to publish contracts via a tool such as Swagger.
Now, what if those features, some of which you must implement every time, was built-in? Throw an unmatched performance leveraging HTTP 2 and support by Google into the mix and you get gRPC – the future of non-trivial APIs.