gRPC for Web Clients
Go to file
Wenbo Zhu abdf69cddc Update README.md 2017-08-02 14:17:01 -07:00
javascript/net/grpc/web Update codegen 2017-04-18 12:50:40 -07:00
net/grpc/gateway Update README.md 2017-08-02 14:17:01 -07:00
third_party Upgrade nginx to support HTTP2 upstream. 2017-04-26 16:53:14 -07:00
.gitmodules Remove the protobuf submodule, use the protobuf provided protobuf instead. 2016-11-18 18:48:31 -08:00
.travis.yml Add travis-ci integration. 2017-06-08 13:13:58 -07:00
CONTRIBUTING.md Initial commit 2016-11-02 15:10:45 -07:00
LICENSE Initial commit 2016-11-02 15:10:45 -07:00
Makefile Supports client liveness detection. 2017-04-26 16:11:53 -07:00
PATENTS Initial commit 2016-11-02 15:10:45 -07:00
README.md Update README.md 2017-08-02 14:14:46 -07:00
darwin_x86_64.sh Fix mac install script, and a bug in clientreadablestream 2017-02-16 16:14:02 -08:00
debian_stretch.sh Limits the parallel build CPU to 8 on Mac OSX. 2016-11-17 17:45:42 -08:00
init_submodules.sh Update to gRPC v1.4.1. 2017-06-28 11:45:25 -07:00
ubuntu_12_04.sh Limits the parallel build CPU to 8 on Mac OSX. 2016-11-17 17:45:42 -08:00
ubuntu_14_04.sh Limits the parallel build CPU to 8 on Mac OSX. 2016-11-17 17:45:42 -08:00

README.md

Overview

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

The current release is a Pre-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 (Alphabet) projects with Closure compiler and its TypeScript generator (not yet open-sourced). The use of Closure compiler may or may not fit your JS development environment.

The gateway that connects the client to the server uses Nginx. However, Nginx still doesn't support HTTP/2 (to backends) as of Q2/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, such as Go, Java, Node, which will eliminate the need to deploy a gateway.

We expect to ship an alpha version in Q3/2017. Stay tuned! Sign-up form.

For questions, please file an issue or contact varuntalwar@google.com.

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.