Skip to content

matejdr/react-native-grpc-bridge

Repository files navigation

@matejdr/react-native-grpc-bridge

A bridge for @improbable-eng/grpc-web using native gRPC

Based on react-native-grpc from Mitch528, found here.

Installation

npm install @matejdr/react-native-grpc-bridge

Node version

nvm install

or

nvm use

Install npm packages

yarn install

Usage

import { grpc } from '@improbable-eng/grpc-web';
import { NativeGRPCTransport } from '@matejdr/react-native-grpc-bridge';
grpc.setDefaultTransport(NativeGRPCTransport({ withCredentials: true }));

Running a docker Server for example app

There is an envoy proxy in front of go server.

cd server
docker-compose up --build server envoy

Running a gRPC Server manually

You can also run the grpc server manually using the following instructions.

Install protoc

Install for go

go get -u google.golang.org/grpc
go get -u github.com/golang/protobuf/proto
go install github.com/golang/protobuf/protoc-gen-go@latest
export PATH=$HOME/go/bin:$PATH

Install grpc-web

GROC_WEB_PLUGIN=protoc-gen-grpc-web-1.0.6-darwin-x86_64
curl -OL https://github.com/grpc/grpc-web/releases/download/1.0.6/$GROC_WEB_PLUGIN
sudo mv $GROC_WEB_PLUGIN /usr/local/bin/protoc-gen-grpc-web
chmod +x /usr/local/bin/protoc-gen-grpc-web

Generate stubs for js and go

protoc \
  --proto_path=server/proto \
  --plugin=protoc-gen-ts=./node_modules/.bin/protoc-gen-ts \
  --js_out=import_style=commonjs:example/src/api \
  --ts_out=service=grpc-web:example/src/api \
  echo.proto
protoc \
  --proto_path=server/proto \
  --go_out=plugins=grpc:server/echoserver/echo \
  --go_opt=paths=source_relative \
  echo.proto

Running a server

cd server/echoserver
go run main.go

Contributing

See the contributing guide to learn how to contribute to the repository and the development workflow.

License

MIT

About

No description, website, or topics provided.

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors