How to bring a gRPC defined API to the web browser

前端 未结 8 753
孤街浪徒
孤街浪徒 2021-01-29 22:39

We want to build a Javascript/HTML gui for our gRPC-microservices. Since gRPC is not supported on the browser side, we thought of using web-sockets to connect to a node.js serve

8条回答
  •  [愿得一人]
    2021-01-29 23:34

    Looking at the current solutions with gRPC over web, here is what's available out there at the time of writing this (and what I found):

    • gRPC-web: requires TypeScript for client
    • gRPC-web-proxy: requires Go
    • gRPC-gateway: requires .proto modification and decorations
    • gRPC-bus-websocket-proxy-server: as of writing this document it lacks tests and seems abandoned (edit: look at the comments by the original author!)
    • gRPC-dynamic-gateway: a bit of an overkill for simple gRPC services and authentication is awkward
    • gRPC-bus: requires something for the transport

    I also want to shamelessly plug my own solution which I wrote for my company and it's being used in production to proxy requests to a gRPC service that only includes unary and server streaming calls:

    • gRPC-express

    Every inch of the code is covered by tests. It's an Express middleware so it needs no additional modifications to your gRPC setup. You can also delegate HTTP authentication to Express (e.g with Passport).

提交回复
热议问题