This issue was moved to a discussion.
You can continue the conversation there. Go to discussion →
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Frontend backend communication? #1385
Comments
Sascha Grunert has published a project building a web application with Yew which uses the Cap'n Proto protocol for data transfer which is really neat. Yew also provides a Fetch service and WebSocket service which you could send GraphQL queries using (or use to connect to a RESTful API). |
Yeah, I think it's on you to pick your transport protocol (http or ws), request protocol (jsonrpc, graphql, etc), and encoding (json, binary, capn proto). Yew has wrappers around For example, for work we've been exploring the use of https://github.com/google/tarpc which is pretty close to being able to build to wasm and makes it easy to provide your own transport (in our case websockets). So, you may have to fork an existing client to get it working with wasm, I would be surprised if you had to write a totally new graphql client, but I'm not familiar with those rust projects. |
I'm working on a GraphQL client (still very early on in the process, but it looks like it might show some promise), which is something like a Relay or Apollo GraphQL clone. You might be interested in it. |
Tarpc looks excellent, can't remember if it has wasm support yet. |
This issue was moved to a discussion.
You can continue the conversation there. Go to discussion →
Question
What are the best alternatives to communicate from front-end rust/yew to back-end rust? Somewhere I read that some folks use GraphQL. But I'm wondering whether there is a more direct, more rusty approach...
Am I just unaware of corresponding technology, or do we have to invent something?
The text was updated successfully, but these errors were encountered: