Search code examples
wcfgrpc

What's the difference between gRPC and WCF?


I know we are comparing 2 different technologies, but I would like to know pros and cons of both. WCF is present for almost a decade now. Didn't anything similar exist in java world until now?


Solution

  • 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 - EDIT: So is WCF now: https://devblogs.microsoft.com/dotnet/corewcf-v1-released/

    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)