As a backend developer I can't help but feeling we have gone full circle.
As in, how is this effectively different from regular server side HTML? I know this is rendered on the client, and I'm not doubting it's usefullness, but what advantages does this setup have?<p>I also guess their demo app isn't representative of what problems this setup intends to solve:<p><a href="https://youtu.be/wM5KDPG9Ugk?t=2866" rel="nofollow">https://youtu.be/wM5KDPG9Ugk?t=2866</a><p>The example whould have been extremely simple to implement in JS/TS on the server side, it would also be much faster and have better concurrency, caching and scalability options.
While ES6 proxies are really nice, I came across this experiment (1) and their tests showed that ES6 proxies can be very bad at performance. I could reproduce the test case. Not sure whether this GraphQL client has some way to optimize.<p>1. <a href="https://thecodebarbarian.com/thoughts-on-es6-proxies-performance" rel="nofollow">https://thecodebarbarian.com/thoughts-on-es6-proxies-perform...</a>
I think this looks very cool, but this quote concerns me:<p><pre><code> If you’re into laziness and magic (who isn’t?)
</code></pre>
Magic is great until you run into an edge case, or try to do anything complicated. Then it tends to bite you in the ass.<p>I can see this being a great tool for whipping out quick prototypes, but I'd be scared to use it for anything bigger.<p>That being said, it does look very cool!
I'm excited about the fluent GraphQL ecosystem and to see where it goes! Using the nice syntax of GraphQL does get lost a little bit ofcourse, but having the benefits of being able to "compose" to some degree and not dealing with strings is nice.<p>From the SQL ecosystem, jOOQ is so amazing:
<a href="http://www.jooq.org/" rel="nofollow">http://www.jooq.org/</a><p>This Ruby one was one of the first ones I came across <a href="https://github.com/contentful-labs/gqli.rb" rel="nofollow">https://github.com/contentful-labs/gqli.rb</a><p>And then we've been putting together a list here as well:
<a href="https://github.com/hasura/awesome-fluent-graphql" rel="nofollow">https://github.com/hasura/awesome-fluent-graphql</a>