Severin Ibarluzea
Sep 4, 2018 · 1 min read

Disclaimer: I haven’t used relay, I’ve only used GraphQL in toy applications.

I think this approach will lead to the smallest possible codebase if you’re using React and Redux because, though you’re still writing server-side code, you’re writing exactly the amount of server side code you need to to transition each state on the client (no superset of the functionality that typically comes with designing a RESTful API). On the client side, you no longer have to write API bindings. The client can exclusively worry about rendering (and the local reducers, but those are usually really trivial).

Typically with GraphQL the client still manages state, so you’re going to have all those API bindings and you’ll have to somehow fit those into your async redux solution.

I think GraphQL and React Remote Redux are tackling the problem of simplifying the client-server interface, but GraphQL is basically just a better RESTful API, it’s not changing where the state transitions happen like a remote redux solution does.

I’ll amend this comment or possibly do a comparison in a future article when I’m a bit more informed on the patterns being used with Relay and GraphQL :)

    Severin Ibarluzea

    Written by

    Cofounder, CollegeAI