Google has been getting lots of attention recently with its "GRPC" project: http://www.grpc.io/
Using GRPC, a developer specifies data types and protocol details in an interface definition language (IDL) based on protobuf. Then the developer generates client and server stubs from the IDL, and uses them in the code. Client and server communicate over a sophisticated, bidirectional binary protocol (HTTP/2).
Presumably this is intended to be an alternative to today's APIs, which exchange JSON over HTTP and make do without an IDL. (Yes, they may have a design doc like Swagger but that's different IMHO.)
Is anyone out there using this? Do they see it as a viable alternative to the API? Or is GRPC missing the points that made APIs succeed in the first place?