Thursday, November 15 • 11:10am - 11:30am
Transpiling GraphQL instead of writing customized server code

Sign up or log in to save this to your schedule, view media, leave feedback and see who's attending!

GraphQL is an excellent query language for clients because it specifies *what* data and response shape is needed without worrying about *how* to get and reshape that data. At Twitter, we take the next step and automatically compile GraphQL queries into code at runtime that efficiently specifies *how* to retrieve the data as well! Developers are able to expose new or existing data through our GraphQL API without writing code or deploying new software. Come see how we transpile our GraphQL queries into code that retrieves and composes data distributed across many services and databases to exactly satisfy each query while generically handling batching, errors, access control, and operational concerns—without our engineers writing a single resolver. We'll discuss how we leverage information from our existing distributed data access layer to power our predictable and uniform API that lets product developers easily get the data they need. Outline: Intro: GraphQL is *What* not *how* Resolvers: Specifying *how* by hand Problems with resolvers Generating resolvers Resolving with a non-GraphQL query Leveraging existing data access systems Transpiling GraphQL Exposing new data Generating a GraphQL API and implementation A sketch of what this enabled for us

avatar for Michael Solomon

Michael Solomon

Software Engineer, Twitter
Mike Solomon is a software engineer on Twitter's Strato team where he uses Scala to generate uniform GraphQL, REST, and Scala APIs, and tries to make building new API services unnecessary.In his spare time he makes an audio-based choose-your-own adventure mobile game called Road Trip... Read More →

Thursday November 15, 2018 11:10am - 11:30am PST