johanbrandhorst / protobuf

GopherJS Bindings for ProtobufJS and gRPC-Web
MIT License
81 stars 16 forks source link
golang gopherjs gopherjs-bindings grpc grpc-web protobuf protobuf3

GopherJS Bindings for ProtobufJS and gRPC-Web

Circle CI Go Report Card GoDoc Gitter chat

gRPC-Web radio operator Gopher by Egon Elbre (@egonelbre) gRPC-Web radio operator Gopher by Egon Elbre (@egonelbre)

Users

A list of some of the users of the library. Send me a message on @jbrandhorst on Gophers Slack if you wish to be added to this list

Getting started

The easiest way to get started with gRPC-Web for Go is to clone the boilerplate repo and start playing around with it.

Components

GopherJS Protobuf Generator

This is a GopherJS client code generator for the Google Protobuf format. It generates code for interfacing with any gRPC services exposing a gRPC-Web spec compatible interface. It uses jspb and grpcweb. It is the main entrypoint for using the protobuf/gRPC GopherJS bindings.

GopherJS ProtobufJS Bindings

This is a simple GopherJS binding around the npm google-protobuf package. Importing it into any GopherJS source allows usage of ProtobufJS functionality.

GopherJS gRPC-Web Client Bindings

This is a GopherJS binding around the Improbable gRPC-Web client. It is not intended for public use.

Contributions

Contributions are very welcome, please submit issues or PRs for review.

Demo

See the example repo and the demo website for an example use of the Protobuf and gRPC-Web bindings.