The problem with web is that browsers don't expose trailers. gRPC depends on having trailers to know if the RPC succeeded or failed, but neither Chrome nor Firefox, nor any other browsers surface this information. If this was exposed in the XHR or Fetch API, gRPC would work.
It's browsers in this case that are the laggard (trailers have been part of the spec since HTTP/1.1).
It's browsers in this case that are the laggard (trailers have been part of the spec since HTTP/1.1).