https://github.com/johanbrandhorst/protobuf
GopherJS Bindings for ProtobufJS and gRPC-Web
https://github.com/johanbrandhorst/protobuf
golang gopherjs gopherjs-bindings grpc grpc-web protobuf protobuf3
Last synced: about 1 year ago
JSON representation
GopherJS Bindings for ProtobufJS and gRPC-Web
- Host: GitHub
- URL: https://github.com/johanbrandhorst/protobuf
- Owner: johanbrandhorst
- License: mit
- Created: 2017-07-04T19:25:31.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2019-11-25T09:20:22.000Z (over 6 years ago)
- Last Synced: 2025-03-29T01:23:57.825Z (about 1 year ago)
- Topics: golang, gopherjs, gopherjs-bindings, grpc, grpc-web, protobuf, protobuf3
- Language: Go
- Homepage:
- Size: 30 MB
- Stars: 81
- Watchers: 7
- Forks: 16
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# GopherJS Bindings for ProtobufJS and gRPC-Web
[](https://circleci.com/gh/johanbrandhorst/protobuf)
[](https://goreportcard.com/report/github.com/johanbrandhorst/protobuf)
[](https://godoc.org/github.com/johanbrandhorst/protobuf)
[](https://gitter.im/gopherjs-protobuf)

_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
* https://github.com/anxiousmodernman/co-chair
* https://github.com/google/shenzhen-go
## Getting started
The easiest way to get started with gRPC-Web for Go is to clone
[the boilerplate repo](https://github.com/johanbrandhorst/grpcweb-boilerplate)
and start playing around with it.
## Components
### [GopherJS Protobuf Generator](./protoc-gen-gopherjs/README.md)
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](./jspb/README.md)
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](./grpcweb/README.md)
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](https://github.com/johanbrandhorst/grpcweb-example)
and [the demo website](https://grpcweb.jbrandhorst.com)
for an example use of the Protobuf and gRPC-Web bindings.