What's the difference between gRPC and WCF?

At a very high level they would both appear to address the same tooling space.

However, the differences I can pick up on:

  • GRPC does not use SOAP to mediate between client and service over http. WCF supports SOAP.
  • GRPC is only concerned with RPC style communication. WCF supports and promotes REST and POX style services in addition to RPC.
  • GRPC provides support for multiple programming languages. WCF supports C# (and the other .net languages).
  • GRPC uses protobuf for on-wire serialization, WCF uses either XML/JSON or windows binary.
  • GRPC is open source

In short:

GRPC seems a much more focused services framework, it does one job really well and on multiple platforms.

WCF much more general purpose, but limited to .net for the time being (WCF is being ported to .net core but at time of writing only client side functionality is on .net core)


Apart from the answers mentioned, i wish to add that gRPC does not support windows/kerberos authentication, which is the defacto authentication mode in the corporate world.

For this reason, its very hard to migrate from WCF to gRPC.

Tags:

Wcf

Grpc