Deep dive into Apollo Client
Submitted by Kiran Abburi (@kiranabburi) on Monday, 4 February 2019
Apollo is the most popular GraphQL client library at the moment. It significantly reduces boilerplate code for fetching data, showing loading status, handling updates to existing objects in cache. But, it can’t handle scenarios like creating new objects, deleting objects and real-time updates automatically. It requires significat amount of code to handle these scenarios and, sometimes, requires more effort than other solutions. In this talk, I will present how to leverage customizable cache and link interface of Apollo to simplify logic for these scenarios.
We might also hit performance issues with Apollo as the number and size of queries increase. I will talk about how to debug and fix these performance issues
- How apollo reduces boilerplate code for fetching data, showing loading status, handling updates to existing objects in cache
- Why is it hard for Apollo to handle scenarios like creating new objects, deleting objects and real-time updates
- How can we leverage customizable cache and link interface to simplify these scenarios
- What are the possible scenarios that can cause performance issues
- How to debug and fix performance issues
Basic understanding of React and GraphQL
I am a consultant and I primarily work with React, GraphQL and React Native. I am working with GraphQL & Apollo for last 2 years. I would like to share my learnings in this talk.