Hi! I'm the author of the GopherJS gRPC-Web bindings <https://github.com/johanbrandhorst/protobuf>. I was introduced to Perkeep by Paul Jolly, who is the author of the GopherJS React bindings <https://myitcv.io/react> used by Perkeep to render some of its frontend UI. I thought since Perkeep has already invested in GopherJS through this UI it might be interested in trying out my gRPC-Web bindings to abstract away the communications layer between the frontend and backend in a familiar gRPC/Protobuf fashion.
The bindings are built on top of the Improbable gRPC-Web client <https://github.com/improbable-eng/grpc-web>. It features support for the Fetch API in supported browsers and automatically downgrades to XHR where necessary. It implements the gRPC-Web spec <https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-WEB.md>. However, the gRPC-Web spec only mandates support for unary and server-side streaming at this time. My GopherJS bindings adds support for client-side and bidirectional streaming with a custom Websocket proxy on top. Please see my demo website <http://grpcweb.jbrandhorst.com/> for an example of this. It's only a bandaid until the gRPC-Web spec adds support for client-side and bidi-streaming. I've submitted a small CL with a prototype of what this could look like on a small scale, to show how the bindings are used and hopefully give an idea of the impact on the codebase. At this time I only implemented it in one place, but ideally for something like this the whole communications layer between the frontend and backend would go through the generated interface. https://camlistore-review.googlesource.com/c/camlistore/+/12406 Please let me know your thoughts! Johan -- You received this message because you are subscribed to the Google Groups "Camlistore" group. To unsubscribe from this group and stop receiving emails from it, send an email to camlistore+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.