I've been using this for a small project and the feature set is far more comprehensive than anything else I've seen in Rust. In comparison to Juniper, it has much better support for subscriptions in particular. Its creator has been amazingly productive and continues to add features almost daily.
Excuse me what's the point of GraphQL as a primary middleware/middleware protocol? I can get the use case of consolidating a number of existing "REST" services to reduce service roundtrips with HTTP/1.1 or layering problems with HTTP/2.0 or QUIC, but it's not like nobody warned against use of the "REST" spaghetti antipattern, including Roy Fielding who coined the term. So JSON and XML (de-)serialization is natively supported by browsers, but what has GraphQL going for it when you need a browser client lib for it anyway? Why not just use a regular endpoint for JSON or XML; their use isn't tied to an opinionated "REST" interpretation at all and you could just send arbitrary payloads. Or is it just because, like React, GraphQL is advertised with all the strength of the media powerhouse that is Facebook in the end?
I'm a GraphQL n00b. My app is a pretty vanilla monolith server rendered Ruby on Rails / Postgres (no SPA).<p>1.) Would I use async-graphql on top of postgres and communicate via a ruby graph ql client?<p>2.) Is it a bad idea for me to use a rust backend on top of postgres instead of Ruby? Is there something more common then async-graphql?<p>3.) How is GraphQL for aggregate queries (count, avg, etc)?
Oh cool, they've also authored a Tide integration: <a href="https://docs.rs/async-graphql-tide" rel="nofollow">https://docs.rs/async-graphql-tide</a>. As someone who works on Tide, this is really exciting!<p>At a glance the integration between the two looks fairly straightforward -- two lines for the integration, and five lines to define a schema. That's pretty good.
One thing I wonder with GraphQL, is usefull to use for mostly server-side without routing by JS?<p>I think could be use-full to use for the extra possibility of auto-get a lot of the client side utilities, but if I wish to handle all server side (like in a regular actix project), how is done?