An example of building a server/client relationship using gRPC and protocol buffers. In this example the server is written in Go along with a very simple command line client. The web client is written in Elm which uses the gRPC Gateway interface. And finally the native client is written in Swift using the new swift-protobuf library.
- Protobuf Server
- JSON reverse-proxy
- In-memory state
- Persistent state
- iOS client
- Web client
- Command-line client
- Go 1.7
- Swift 3 / Xcode 8
- openssl
- At times you may need switch over to MASTER for github.com/apple/swift-protobuf
$ ./setup.sh
$ make
$ cd server && go run main.go
Run with persistent sqlite backend:
$ cd server && SERVER_STATE=sqlite go run main.go
$ open clients/ios/Pages/Pages.xcodeproj
  Product > Run (⌘R)
$ open clients/web/index.html
$ cd clients/cmd
$ go run main.go