When Facebook first started using GraphQL in 2012, “Client GraphQL Infrastructure” meant smashing strings together for the query and a simple JSON parser for the response. Since then, Facebook has developed app-wide SDKs, simplifying how client developers build the entire client based on core principles of GraphQL. From client caches to pagination abstractions, from cross-platform toolchains to generated models, Facebook’s client SDKs have evolved over the last five years to support hundreds of developers and thousands of queries across dozens of apps, and the evolution of these clients has informed the evolution of GraphQL itself.
This talk will dive into lessons learned from those developments. What abstractions worked, and which ones are now regrettable? How did the evolution of client abstractions inform the development of GraphQL itself? When beginning to use GraphQL on a new client, what are the best practices to ensure developers move as swiftly as possible?
Dan Schafer is a software engineer at Facebook and a co-creator of GraphQL. He worked on the implementations of both GraphQL Mutations and Subscriptions, and built the original Android and iOS client libraries for them. Currently, he's a tech lead on the Android Product Layer at Facebook, focused on using GraphQL to develop a compelling and cohesive Android SDK.
GraphQL Europe: https://graphql-europe.org