GitHub Mobile and GraphQL
Article Summary
Hesham Salman from GitHub reveals how GraphQL eliminated over-fetching and let their mobile team ship features at warp speed. The secret? Letting the client define exactly what data it needs.
GitHub's mobile engineering team adopted GraphQL and Apollo clients for iOS and Android, fundamentally changing how they build features. This shift moved them away from REST endpoints and manual model management toward automated code generation and composable data queries.
Key Takeaways
- Apollo's code generation eliminates manual network model creation and maintenance entirely
- Fragments enable reusable GraphQL pieces, reducing repetition across queries
- Field-level deprecation prevents backend changes from breaking mobile clients
- Mindset shifts from HTTP endpoints to types, queries, and mutations
- Clients request only needed data, eliminating bloated responses
Critical Insight
GraphQL and Apollo abstracted away networking tedium, letting GitHub's mobile team focus on building features instead of maintaining API infrastructure.