GraphQL and predecessors like Parse’s query engine brought along a paradigm shift in the way we think about data transfer between the front- and back-end of applications. We are no longer restricted by predefined data and response structures and communicating our data requirements implicitly. Instead, by declaring the graph-form of our data model, we are able to request data in it’s object form in a JSON-like syntax that shares structure between response and request. GraphQL, along with Relay, makes the development an application, multiple applications, and multiple versions of those, a breeze. No longer do we have to maintain v1, v3 and v100 or our APIs to make sure all legacy versions are supported. For those of us that are used to relational databases and RESTful APIs GraphQL can seem daunting and quite a leap from the model we are used to. The good news is that if you use any kind of ORM or defined any form of model to your data, you’re already halfway thorough to the graph! Looking at an example REST API, we’ll go through the steps of converting both the server and the client to GraphQL - understanding along the way what are the similarities and differences in application design, both on the front-end and the back-end.
Barak is a London-based full-stack developer, entrepreneur and web technology speaker. He’s passionate about emerging web technologies, great online user experiences and building great products faster and better. He’s now consulting startups in London, co-building early stage startups.