2 Comments

I am impressed every time I see how much space a protobuf message takes up compared to json payload, yet I would rather have a way to write more concise RPC declarations at the expense of larger payload size.

The biggest issue I take with protobuf is that it's useful as a _DATA contract_, not so much as an _API contract_.

Before choosing gRPC as my main protocol, a single source of RPC if you will, I'd contemplated a lot, but having a strict-ish syntax with a mature cross-language and cross-platform infra was the key factor for me to jump the wagon.

In hindsight, I still think it was the best choice. I use gRPC-Web for internal web apps, but grew to like writing google.api.http annotations for external consumption via gRPC-JSON transcoding.

P.S: I've been writing some Go these days, and having to write things like `rpc DoSomething(DoSomethingRequest) returns (DoSomethingResponse)` leaves similar aftertaste. It's verbose, the opposite of succinct, it makes my fingers hurt, but ultimately it works.

Expand full comment