Showing posts from May, 2018

The issues with GraphQL

I recently wrote a little about some of the issues with a technology like GraphQL. Whenever a new technology emerges that claims to solve age old problems, one has to look closely at the assertions made. In the case of GraphQL  the following is listed on their website: Ask for what you need get exactly that Get many resources in a single request Describe what is possible with a type system Move faster with powerful developer tools Evolve you API without versions Bring your own data and code The How to GraphQL  describes GraphQL as "the better REST" No more Over and Under fetching Rapid product iterations on the frontend Insightful Analytics on the Backend Benefits of a schema and type System Whilst many of these assertions may be true, the reality is that they also can cause significant problems. Like anything in engineering, there are always trade-offs. Asking for what you need : The backend or API has to be able to generate the queries that w