Hi Jan!
Now that we have a lot of the basic features working in Apollo Client, we're starting to look at performance as well. Since we are using it in production, this is a big deal for us as well. We did two things in particular recently to improve performance based on what we saw in our production app:
- Aligned poll intervals so that multiple polling queries from different components are sent in one request
- Did data comparisons in observable results to avoid unnecessary UI rerenders
These resulted in some great improvements already, and we're always looking for ideas about performance wins.
Read all about it in our blog post here: Snappier UIs with Apollo Client and GraphQL
This isn't mobile-specific, but any performance improvements about reducing CPU usage will help a lot there.
One thing that I will say is that Apollo Client internal logic about normalization has never showed up in our CPU profiles at all, so I don't think it's a big problem right now. In fact, it already saves you a lot of work because you don't have to write manual shouldComponentUpdate functions in your UI components after the new features.