In this article, Marc-André Giroux breaks down what the GraphQL Dataloader pattern is and why data loading issues exist with GraphQL. He provides examples of performance issues with various executions of GraphQL queries. Giroux also provides his thoughts on lazy loading and emphasizes an asynchronous approach to resolvers.
This blog sheds some light on the current state of the GraphQL ecosystem and the decision between code-first or SDL-first schema development. Rohit Ravikoti analyzes both implementations and offers insight into the risks and tradeoffs each approach has. He includes a couple of suggestions on how your team can stay organized and choose the approach that fits best.
This post shares some interesting insight on the different API patterns, Back-end for Front-end (BFF) and One-Size-Fits-All (OSFA), and how they could be affected by the usage of GraphQL. Phil Calçado explains how BFFs can optimize endpoints/payloads and questions if BFFs are even necessary with GraphQL. He also challenges single schema data models and how integration databases can be problematic.
Podcasts and Shows
Listen to this podcast with Michael Kelly, a Senior Engineer at Stackshare and the author of graphql-cache, a caching plugin for graphql-ruby. He presents Stackshare’s story of why they adopted GraphQL and the need for parallel development streams. He also explains the reason for graphql-cache and how it helps with handling data-heavy applications with resolvers that are computationally intense.
Check out this extensive 3 part series on developing GraphQL APIs with Rails on the backend and React/Apollo on the frontend. The guide explains how to set up a Rails server from scratch and walks through how to prepare the data model. Learn how to manipulate data using GraphQL mutations and keep it up-to-date with subscriptions in parts 2 and 3.
This article explains how to use GraphQL Fragments with Apollo Client and the Relay compiler to transform queries before GraphQL Code Generator outputs generated code. The article includes a working codegen/relay plugin and demonstrates how to configure it for any react-apollo project.