Thanks! Great question.
We were pretty uncertain exactly how long it would take to move to a GraphQL solution. But we knew it would’ve been a multi-sprint effort, and it would require effort from the entire team. On the other hand, we knew we could build redux-query pretty quickly. redux-query actually isn’t that many lines of code — if I remember correctly, it was built a single sprint by just a single individual (me). GraphQL would’ve definitely been a multi-sprint effort requiring effort from multiple team-members, and we already had another rewrite on our hands…
There were a few other factors that played into the decision:
- We weren’t really happy with the API provided by Relay. And at the time, Apollo either didn’t exist or was off our radar. But looking at Apollo now, it seems like it would be a much better fit.
- Our server code is written in Python. We looked into Graphene, but felt a bit uncomfortable committing to a relatively immature project.
- We needed to continue to maintain our existing REST APIs. We had multiple clients relying on the existing APIs.
That said, I’d say it’s pretty likely we’ll revisit using GraphQL in the future.