Skip to content

nathanborror/example-pages

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pages

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.

Todos

  • Protobuf Server
  • JSON reverse-proxy
  • In-memory state
  • Persistent state
  • iOS client
  • Web client
  • Command-line client

Requirements

  • Go 1.7
  • Swift 3 / Xcode 8
  • openssl
  • At times you may need switch over to MASTER for github.com/apple/swift-protobuf

Installation

$ ./setup.sh
$ make

Run server & reverse-proxy

$ cd server && go run main.go

Run with persistent sqlite backend:

$ cd server && SERVER_STATE=sqlite go run main.go

Run iOS client

$ open clients/ios/Pages/Pages.xcodeproj

   Product > Run (⌘R)

Run web client

$ open clients/web/index.html

Run command line client

$ cd clients/cmd
$ go run main.go

About

📓 An example project using gRPC, Protocol Buffers, Swift and Go

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published