Use https://github.com/grpc/grpc-web instead. This mirror is no longer maintained since github repo is now public.

Clone this repo:

Branches

  1. fb13304 Update README.md by Stanley Cheung · 1 year, 11 months ago master
  2. f16f6f1 Update README.md by Stanley Cheung · 1 year, 11 months ago
  3. 6442f97 Merge pull request #128 from stanley-cheung/master by Stanley Cheung · 1 year, 11 months ago
  4. e962771 Minor doc edit by Stanley Cheung · 1 year, 11 months ago
  5. 7cd115c Delete nginx.pid by Feng Li · 1 year, 11 months ago

Overview

gRPC-Web provides a Javascript client library that enables browser clients to access a gRPC server.

The current release is an Alpha release, mainly for early adopters to provide feedback on the JS API (both gRPC and Protobuf). The JS client library has been used by Google (and Alphabet) projects with Closure compiler and its TypeScript generator (not yet open-sourced).

The gateway that connects the client to the server uses Nginx. However, Nginx still doesn't support HTTP/2 (to backends) as of Q3/2017, and therefore the gateway can't be used as a reverse proxy (for load balancing). We have also added the gRPC-Web support to Envoy. In future, we expect gRPC-Web to be supported in language-specific Web frameworks too, such as Go, Java, Node, which will eliminate the need to deploy a gateway.

Generate and use the client library

Please check the end-to-end echo example in net/grpc/gateway/examples/echo.

Build the gateway

Ubuntu 14.04

  1. Install docker.
  2. run ./ubuntu\_14\_04.sh
  3. build result is available in net/grpc/gateway/docker folder as gConnector.zip and gConnector_static.zip.

Mac OS X

  1. Install brew.
  2. brew install autoconf automake libtool pcre
  3. run ./darwin\_x86\_64.sh
  4. build result is available in the root folder as gConnector.zip and gConnector_static.zip.