<  Back to Schedule
Defies CategorizationSession Presentations

Schema First, Code First, or Both? Adopting Schema First Development with Code First Architecture

Tuesday, September 10 / 03:40p.m. PDT - 04:10p.m. PDT
Dan Adajian Profile Image
Dan AdajianExpedia Group, Senior Software Engineer

At Expedia Group, we leverage a "code-first" approach with GraphQL Kotlin to deliver high quality experiences to travelers globally. This means we let our implementations drive our GraphQL schema. However, our developers have a growing appetite to agree on our schema up front before diving into implementation. This talk will explore how we shifted our architecture to use a schema-first approach within a code-first framework. Overall, I aim to dispel the notion that using a code-first solution prevents us from defining schema as a first step. I will explore the advantages of doing schema review at scale, as well as highlight an open source GraphQL-Codegen plugin we built to generate Kotlin classes and interfaces from our schema definitions. I am eager to contribute to the conversation around schema-first vs code-first, which has been the topic of several GraphQLConf talks over the past few years. This approach brings a fresh perspective and should inspire folks to incorporate a schema-first mentality into their GraphQL development cycle.