Panel Discussion 'The Future of Server-side GraphQL'

This ad is not shown to multipass and full ticket holders
React Summit US
React Summit US 2025
November 18 - 21, 2025
New York, US & Online
The biggest React conference in the US
Learn More
In partnership with Focus Reactive
Upcoming event
React Summit US 2025
React Summit US 2025
November 18 - 21, 2025. New York, US & Online
Learn more
Bookmark
Rate this content

FAQ

Benji is the main maintainer of GraphL, a community-funded open source project. He specializes in GraphQL and is passionate about helping the community.

Danielle Mann is a senior director of engineering at Apollo. She has dedicated the last six and a half years to making GraphQL easier and more delightful to use.

Tim Shuchanik is the co-founder and CEO of Stellate, and was the first employee at the first GraphQL backend as a service. He now focuses on making it easy to run GraphQL APIs in production at Stellate.

Graphbase, under the leadership of Fredrik Georg, specializes in making it super easy to deploy serverless GraphQL backends.

Benji noted the impressive growth of GraphQL since its inception and highlighted the focus on addressing edge cases and advancing GraphQL through various proposals and community collaboration.

Live queries in GraphQL allow for real-time updates, making it easy to keep data synchronized between the server and client. This feature is significant for applications requiring real-time functionality.

Danielle Mann believes that the 'defer' feature in GraphQL can simplify frontend development by allowing data to load in chunks, thus simplifying React app architecture and improving performance.

Danielle Man
Danielle Man
Uri Goldshtein
Uri Goldshtein
Benjie
Benjie
Fredrik Björk
Fredrik Björk
Tim Suchanek
Tim Suchanek
46 min
08 Dec, 2022

Comments

Sign in or register to post your comment.
Video Summary and Transcription
Let me introduce distinguished guests from GraphL, Apollo, Stellate, and Graphbase. They are experts in GraphQL and its future trends. Discussing GraphQL trends and user stories in Apollo. Excitement over the potential of defer in GraphQL applications. Challenges and solutions in GraphQL education and tooling for community advancement. Challenges in improving beginner education in GraphQL. Panelists discussing challenges in standardizing advanced GraphQL topics and teaching back-end GraphQL development. Challenges in designing GraphQL schemas and the complexities of ensuring backward compatibility. Introduction to Graphast, an alternative execution model for solving GraphQL problems efficiently on the backend. Simplifying GraphQL deployment for developers with evolving frameworks. Addressing front-end and back-end role boundaries in GraphQL and exploring simplification options. Innovations like fragment utilization and segregating data from components enhance the GraphQL experience.

1. Introduction of GraphQL Panel Guests

Short description:

Let me introduce distinguished guests from GraphL, Apollo, Stellate, and Graphbase. They are experts in GraphQL and its future trends. GraphQL has seen impressive growth since 2015, addressing various needs and edge cases. The community is actively working on advancing GraphQL with new features and improvements, fostering collaboration for the benefit of all users.

Let me introduce those distinguished guests, starting with Benji from GraphL. GraphL is a community-funded open source project and Benji is the main maintainer. He loves doing GraphQL, truly loves doing GraphQL and helping the community. I'm really excited to have Benji here. We have Danielle Mann from Apollo. She's a senior director of engineering at Apollo. Danielle has been working on making GraphQL easier and more delightful to use for the last six and a half years. It's amazing to have someone with so much experience here.

And Tim Shuchanik from Stellate. He's the co-founder and CEO of Stellate. Tim was the first employee at the first GraphQL backend as a service, GraphQL, that we all remember six and a half years ago and is now working on making it easy to run GraphQL APIs in production at Stellate. And Fredrik Georg from Graphbase. He's the founder and the CEO of Graphbase. They make it super easy to deploy serverless GraphQL backends. So thanks everyone for joining me and for this panel. You know, this panel has a very big title, What is the future of GraphQL? And I think there's, all of us probably have a lot of different perspectives from all of the many different areas that the people here are a part of.

So maybe we can start with Benji. Just in very, let's call it general terms. How do you see the current trends in GraphQL? Where do we start and where we are today and some of the exciting things you are seeing out there? Thanks, Yuri. GraphQL, I think, has grown quite impressively. It sort of rocketed out since its launch in 2015. And it's really interesting to see people. I think the base GraphQL addressed a lot of people's problems, and we're now starting to see the edge cases of those where certain patterns aren't fully covered, and we're then looking to deal with those. So in my work with the working group, we've been receiving the requests and the ideas of various people as to how to advance GraphQL, how to make it serve all these different needs. And I think Lee spoke about earlier, the new deference stream, which is one of the exciting things that is being added to GraphQL currently, which is great.

But there is also a huge number of other proposals that are all being worked on as ways to advance GraphQL. And some of them may never see the actual final release into the specs. Some of them may spawn better ideas that solve the problems in better ways. But what I love to see is people really getting involved and working together to find these solutions to these common problems. And rather than thinking, how can I solve this for my one business? Thinking, how can I solve this for everyone that uses GraphQL? So that this rising tide can lift all boats, as it were.

2. Discussion on GraphQL Trends and User Stories

Short description:

Discussing GraphQL trends and user stories in Apollo. Evolution from basic to sophisticated GraphQL usage. Emphasizing the impact of defer on query performance and app simplicity.

Yeah, and I see... I'm really interested also in Daniel's perspective because I know that in Apollo, you basically probably think so much of user stories and how many different types of companies are using GraphQL, both on the front-end as consumers and back-end. How do you approach this question?

Yeah, I think as the last six and a half years have progressed, we've really seen GraphQL move from being a super early technology that needed just a lot of basic tools to help you use it in general, to now we're entering more of the early majority phase where a lot of people are looking for more sophisticated things out of GraphQL and starting to build off of GraphQL to do things like defer or to do things like live queries, which is something that we talk about at Apollo.

So I'm really, I mean, even just for the use case of defer, I'm really excited about how we're starting to get to being able to roll that out because with defer, it doesn't just make your GraphQL queries more performant. I mean, well it does, but like, it's not just about making your queries more performant. It actually, once you've moved that kind of consideration of how the data will load in chunks back to the GraphQL query layer and out of your React render layer, you can make your React apps a lot simpler. You're going to architect components in a different way because you're no longer going to need to break up front-end pages component by component just because you need to load data progressively.

QnA

Excitement over GraphQL Defer and Live Queries

Short description:

Excitement over the potential of defer in GraphQL applications. Streamlining queries and improving front-end development. Future prospects of GraphQL including live queries and server enhancements.

So even just within the last month, I've started to play around with defer and some of my own apps because we had an early implementation at Apollo and I was realizing some of those things. And I was having this moment of like, oh my gosh, this is going to change how people build their front-end components. This is wild. I'm excited about GraphQL all over again. And so I'm really excited that we're entering this phase of defer, live queries, caching, what Tim is doing, all these other amazing things on top of GraphQL now that we've gotten past the basics of just making GraphQL available to the masses.

What do you think would be the biggest conceptual thing that people can now do with defer? The biggest a-ha moment for you when you started playing with this? So my a-ha moment, we have a big front-end app at Apollo called Studio and every time we load a list of things, we have one query for the list and then one query for every component of the list so that the list can show up, but then the metadata on that list can load more progressively. And so when you just load one page, it's maybe like 100 queries, which is just so many. And so I had this a-ha moment of like, oh my gosh, with defer, this no longer needs to be organized this way, this can all just be one query, it's going to be so much better for the front-end developers who no longer have to break this component up on these boundaries, it's going to be so much better for the server that no longer has to deal with mega load. So even just that it was such a simple moment, but I was like, the potential here is so exciting.

Yeah, I agree. And you also mentioned live queries. And I know that GraphVis has started playing a bit with those things. Maybe you can take the question from your perspective, Frederick. What are the most exciting upcoming things for you? Absolutely. I mean, I think just to double click on GraphQL, where we are, I think the fact that it's becoming a bit boring is a good thing, right? It's no longer being hotly debated. It's here, and it's here to stay. And I'm pretty excited about that. Now, we're refining and adding things to make it easy for anyone to adopt and to generalize common patterns. So I like that. But yeah, on our end, we're also looking at defer and stream, and we actually have experimental support for live queries already. And most people, I think, know of GraphQL subscriptions, but not everyone knows about live queries. So that's another example of just making real-time really easy. And that's obviously something that we care deeply about because we care deeply about because we want to make GraphQL servers easier. Because I think the kind of common knowledge, at least in my experience, has been building GraphQL services is a bit hard and fragmented. So that's something we're excited to make better.

Challenges in GraphQL Education and Tooling

Short description:

Challenges and solutions in GraphQL education and tooling for community advancement.

Yeah, that leads me to the next question. I agree with you that we got to the boring phase where we know more or less what is GraphQL. We have these things, but now there are some challenges. I think probably someone who's been into this problem for so many years is Tim, because of GraphQL. Right? Where you're one of the first that actually looked at how to make it as easy as possible, as simple as possible. And you've been through a lot of waves and iterations over these six and a half years. Where do you see the current challenges of where we are in, and what would be the easiest wings moving forward for the community? I think that's actually a good question, and I definitely have thoughts on that. I think that there are two, let's say, big areas. I see education and tooling. And I would even say that education is probably more important right now, because we see that there are a lot of misunderstandings. Every second day there's a discussion these days. It's a bad tool or whatever. And you see that there's just a base misunderstanding. I think it starts with, we see that GraphQL is very valuable in teams and companies you have. GraphQL is a collaboration tool. It brings people to the same table and they can talk about something. And now kind of a forcing function has a lot of advantages there. And I think that's still something that many companies don't understand. And for that you first need to understand your own, you first need to be self-introspective in the company, understand your own issues. Let's say there are 10 different authorization solutions out there. What is the issue? It's maybe a governance issue. Once you identify it, now you can see if there may be a tool that can help us. And I think that's like a few steps down the road. And it's a lot of education that needs to happen to really get like the benefits, like also relay style, GraphQL is also still quite different than what is using let's say a lot of, let's say starter projects. And people have like this barrier to relay, although there are a lot of advantages in it. And I think there's a lot of education needed on the tooling side. I think everyone here is like working on something to make it easier and move GraphQL forward. And it's a huge, like it's like something on all of us, right? Not just one person or company can move that forward. And I think as long as we all move forward and that's like, the spec is combining all of this, it's holding us together.

Enhancing Beginner Education in GraphQL

Short description:

Challenges in improving beginner education in GraphQL.

And I think as long as we all move forward and that's like, the spec is combining all of this, it's holding us together. I think that's amazing.

Yeah, I think I agree. I think education is very important. And also, but I always keep wondering if we can. There's education also sometimes means people need to know more things or to, you know, some things are just make sense when you're getting into more complex applications. But I always ask myself, can we build better tools for the beginner, where you know, you start easy, you get what you want, and then you just gradually, you know, you gradually get into where you want without, I don't know, jumping between things.

Or I wonder if any of you have, I don't know who wants to take it like, but how do you imagine us solving this path in the future? Like, let's say I'm a beginner, I'm starting, I know it's a beginner but I'm a developer who's starting a new app, and I want to start easy and fast, but then I want to make sure that I'm not, you know, cornering myself with things. Do you think we're there right now? Do you think there's things needs to be changed? Do you have concrete ideas of things like that? Maybe Danielle, you can take it.

Standardizing Advanced GraphQL Topics

Short description:

Panelists discussing challenges in standardizing advanced GraphQL topics and teaching back-end GraphQL development.

Yeah, I actually... Well, I kind of wanted to ask the rest of the panelists because my take on that is we have so much material on helping complete newcomers to GraphQL, GraphQL get started with GraphQL, like we have starter kits, we have a lot of easy ramps, but I feel like what we're still in the process of building in this community is easy answers, easy standards for the more complicated and advanced questions.

On the Apollo side, we have a lot of tutorials, we have our Odyssey learning courses, we have a lot of docs with getting started guides for... Yes, how do you write a resolver? Yes, how do you write a query in your client app? But once you start getting to more advanced, complicated topics, a lot of that is still very much within specific companies, specific technical teams, and I feel like we haven't standardized those answers.

Benji, I was actually curious from your perspective how you think about that, because right before we hopped on the panel, Benji and I were talking about his new project around a different way to write GraphQL resolvers, so I'm curious how you think about teaching people how to do GraphQL while on the back end. Yeah, it's a great question. And I think one of the key things to keep in mind with GraphQL is it was always built to solve client problems. It was always built to solve the problems of the front end. And just like you were describing earlier, Danielle, with defer and your breakthrough moment, it helps, it's always focused on those, making those front ends easier.

Designing GraphQL Schemas and Graphast Solution

Short description:

Challenges in designing GraphQL schemas and the complexities of ensuring backward compatibility. Introduction to Graphast, an alternative execution model for solving GraphQL problems efficiently on the backend.

But like Frederick said before, it's not always the best at making the back ends easier. And there are so many different approaches to building GraphQL schemas. I mean, even choosing what programming language you're going to build them in is one first question. And then even from there, you've got various different questions depending on what libraries you have available. Do you want to go schema first? Do you want to go code first? Do you want to go database first? Do you want auto generation? Do you want to do it manually? There's even fundamental questions about the design of your schema. Like should you be using cursor connections or do you just want simple lists? And I think a lot of people always want to start the simple way. But one of the things that GraphQL tries to help you accomplish is making your schema backwards compatible. You want to always be able to add stuff to your schema without breaking previous applications. And so there's quite a few patterns in GraphQL that initially seem over complicated. So connections, for example, the mutation pattern where you have an input object and a payload object, and various things like that that people might initially think, I don't need all this stuff. If I'm going to create a post, I just need to return the post. But then later when they realize, oh, actually, when I create the post, I also want to know, maybe it costs me some money to create the post. How many credits do I have left after this? If you had done it with a payload, then there would be this space afterwards. So it's always about thinking in terms of the future of your schema. And I think that is maybe where education on the front end of how to consume GraphQL is relatively straightforward. Because you've already got a schema. Someone's already designed that for you. Now, all you need to know is how do I query it, how do I integrate this with React or Vue or Angular, whatever it is you're working with. Whereas on the back end, it's not just a case of learning what GraphQL can do, but it's also learning what it should do and how that integrates with your business domain. And I think that's quite a hard challenge to solve in general.

You asked about my project, which is called Graphast. And one of the things that I see a lot of people saying about in GraphQL is, you know, the N plus one problem and the caching problem and various things like this. What Graphast sets out to do is to solve these problems out of the box by actually getting rid of the resolver-based execution model that we have in GraphQL currently and replacing it with a completely alternative execution model. Now, this isn't to say that resolvers are concretely bad or anything like that. It's more to say resolvers set like the baseline of here is what it should look like, here's what it should be perceived as to the user as if it did this. But on the backend, if we do something a bit more advanced, but not necessarily with more complicated code, we can achieve better outcomes and we can avoid, we can sidestep a whole number of these problems, the N plus one problem and much more just out of the box. What are other interesting ideas that makes it easier to solve, to build graphical servers on the backend? Do you see other interesting ideas? By the way I saw a glimpse of Graphast is very exciting, but I know that both team and both teams and Frederik have also interesting ideas there. Frederik maybe do you want to also give an idea of how you see this idea that writing GraphQL on the backend is hard. I was muted, sorry. I was going to continue on what Benji said there in terms of you know there's just a lot of decision making you have to go through before you actually see the API on a URL in production somewhere and I think that's the that's the problem we want to solve and that's we want to have really low barrier of entry starting with your terminal and local dev right? I don't want you to have to install Docker or Java or set up complicated YAML files or anything like that.

Innovations and Future Directions in GraphQL

Short description:

Simplifying GraphQL deployment for developers with evolving frameworks. Addressing front-end and back-end role boundaries in GraphQL and exploring simplification options. Innovations like fragment utilization and segregating data from components enhance the GraphQL experience.

I want to get you from the idea to the URL, aiming for minutes instead of days. Starting with a simple schema-first approach but considering the benefits of code-first at scale. The goal is to streamline front-end developer deployment of GraphQL APIs and gradually engage full-stack and back-end developers in server deployment. The evolution of frameworks in the GraphQL ecosystem aims to simplify adoption and cater to diverse developer preferences, similar to the evolution seen in React frameworks.

Exploring the shifting boundaries between front-end and back-end development in GraphQL, leading to a broader understanding of data source implementation and varied roles in GraphQL APIs. The complexity perceived by front-end developers in using GraphQL prompts discussions on simplifying the front-end experience and potential alternatives like PRPC. The community's feedback on GraphQL's ease of use for front-end developers sparks considerations for enhancing simplicity and usability in GraphQL implementations.

Continued innovation in the GraphQL ecosystem introduces concepts like extracting data requirements from components, emphasizing the underutilized power of fragments, and co-locating data needs with components. The analogy drawn between GraphQL and CSS-in-JS highlights the potential benefits of segregating data concerns from UI components. Exploration of the future of GraphQL involves integrating data requirements seamlessly into components, potentially simplifying the GraphQL experience and lowering entry barriers for users.

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

From GraphQL Zero to GraphQL Hero with RedwoodJS
GraphQL Galaxy 2021GraphQL Galaxy 2021
32 min
From GraphQL Zero to GraphQL Hero with RedwoodJS
Top Content
Tom Pressenwurter introduces Redwood.js, a full stack app framework for building GraphQL APIs easily and maintainably. He demonstrates a Redwood.js application with a React-based front end and a Node.js API. Redwood.js offers a simplified folder structure and schema for organizing the application. It provides easy data manipulation and CRUD operations through GraphQL functions. Redwood.js allows for easy implementation of new queries and directives, including authentication and limiting access to data. It is a stable and production-ready framework that integrates well with other front-end technologies.
Local State and Server Cache: Finding a Balance
Vue.js London Live 2021Vue.js London Live 2021
24 min
Local State and Server Cache: Finding a Balance
Top Content
This Talk discusses handling local state in software development, particularly when dealing with asynchronous behavior and API requests. It explores the challenges of managing global state and the need for actions when handling server data. The Talk also highlights the issue of fetching data not in Vuex and the challenges of keeping data up-to-date in Vuex. It mentions alternative tools like Apollo Client and React Query for handling local state. The Talk concludes with a discussion on GitLab going public and the celebration that followed.
Batteries Included Reimagined - The Revival of GraphQL Yoga
GraphQL Galaxy 2021GraphQL Galaxy 2021
33 min
Batteries Included Reimagined - The Revival of GraphQL Yoga
Envelope is a powerful GraphQL plugin system that simplifies server development and allows for powerful plugin integration. It provides conformity for large corporations with multiple GraphQL servers and can be used with various frameworks. Envelope acts as the Babel of GraphQL, allowing the use of non-spec features. The Guild offers GraphQL Hive, a service similar to Apollo Studio, and encourages collaboration with other frameworks and languages.
Rock Solid React and GraphQL Apps for People in a Hurry
GraphQL Galaxy 2022GraphQL Galaxy 2022
29 min
Rock Solid React and GraphQL Apps for People in a Hurry
The Talk discusses the challenges and advancements in using GraphQL and React together. It introduces RedwoodJS, a framework that simplifies frontend-backend integration and provides features like code generation, scaffolding, and authentication. The Talk demonstrates how to set up a Redwood project, generate layouts and models, and perform CRUD operations. Redwood automates many GraphQL parts and provides an easy way for developers to get started with GraphQL. It also highlights the benefits of Redwood and suggests checking out RedwoodJS.com for more information.
Adopting GraphQL in an Enterprise
GraphQL Galaxy 2021GraphQL Galaxy 2021
32 min
Adopting GraphQL in an Enterprise
Today's Talk is about adopting GraphQL in an enterprise. It discusses the challenges of using REST APIs and the benefits of GraphQL. The Talk explores different approaches to adopting GraphQL, including coexistence with REST APIs. It emphasizes the power of GraphQL and provides tips for successful adoption. Overall, the Talk highlights the advantages of GraphQL in terms of efficiency, collaboration, and control over APIs.
Step aside resolvers: a new approach to GraphQL execution
GraphQL Galaxy 2022GraphQL Galaxy 2022
16 min
Step aside resolvers: a new approach to GraphQL execution
GraphQL has made a huge impact in the way we build client applications, websites, and mobile apps. Despite the dominance of resolvers, the GraphQL specification does not mandate their use. Introducing Graphast, a new project that compiles GraphQL operations into execution and output plans, providing advanced optimizations. In GraphFast, instead of resolvers, we have plan resolvers that deal with future data. Graphfast plan resolvers are short and efficient, supporting all features of modern GraphQL.

Workshops on related topic

Build a Headless WordPress App with Next.js and WPGraphQL
React Summit 2022React Summit 2022
173 min
Build a Headless WordPress App with Next.js and WPGraphQL
Top Content
Workshop
Kellen Mace
Kellen Mace
In this workshop, you’ll learn how to build a Next.js app that uses Apollo Client to fetch data from a headless WordPress backend and use it to render the pages of your app. You’ll learn when you should consider a headless WordPress architecture, how to turn a WordPress backend into a GraphQL server, how to compose queries using the GraphiQL IDE, how to colocate GraphQL fragments with your components, and more.
Build with SvelteKit and GraphQL
GraphQL Galaxy 2021GraphQL Galaxy 2021
140 min
Build with SvelteKit and GraphQL
Top Content
Workshop
Scott Spence
Scott Spence
Have you ever thought about building something that doesn't require a lot of boilerplate with a tiny bundle size? In this workshop, Scott Spence will go from hello world to covering routing and using endpoints in SvelteKit. You'll set up a backend GraphQL API then use GraphQL queries with SvelteKit to display the GraphQL API data. You'll build a fast secure project that uses SvelteKit's features, then deploy it as a fully static site. This course is for the Svelte curious who haven't had extensive experience with SvelteKit and want a deeper understanding of how to use it in practical applications.

Table of contents:
- Kick-off and Svelte introduction
- Initialise frontend project
- Tour of the SvelteKit skeleton project
- Configure backend project
- Query Data with GraphQL
- Fetching data to the frontend with GraphQL
- Styling
- Svelte directives
- Routing in SvelteKit
- Endpoints in SvelteKit
- Deploying to Netlify
- Navigation
- Mutations in GraphCMS
- Sending GraphQL Mutations via SvelteKit
- Q&A
Relational Database Modeling for GraphQL
GraphQL Galaxy 2020GraphQL Galaxy 2020
106 min
Relational Database Modeling for GraphQL
Top Content
Workshop
Adron Hall
Adron Hall
In this workshop we'll dig deeper into data modeling. We'll start with a discussion about various database types and how they map to GraphQL. Once that groundwork is laid out, the focus will shift to specific types of databases and how to build data models that work best for GraphQL within various scenarios.
Table of contentsPart 1 - Hour 1      a. Relational Database Data Modeling      b. Comparing Relational and NoSQL Databases      c. GraphQL with the Database in mindPart 2 - Hour 2      a. Designing Relational Data Models      b. Relationship, Building MultijoinsTables      c. GraphQL & Relational Data Modeling Query Complexities
Prerequisites      a. Data modeling tool. The trainer will be using dbdiagram      b. Postgres, albeit no need to install this locally, as I'll be using a Postgres Dicker image, from Docker Hub for all examples      c. Hasura
Build and Deploy a Backend With Fastify & Platformatic
JSNation 2023JSNation 2023
104 min
Build and Deploy a Backend With Fastify & Platformatic
Top Content
WorkshopFree
Matteo Collina
Matteo Collina
Platformatic allows you to rapidly develop GraphQL and REST APIs with minimal effort. The best part is that it also allows you to unleash the full potential of Node.js and Fastify whenever you need to. You can fully customise a Platformatic application by writing your own additional features and plugins. In the workshop, we’ll cover both our Open Source modules and our Cloud offering:- Platformatic OSS (open-source software) — Tools and libraries for rapidly building robust applications with Node.js (https://oss.platformatic.dev/).- Platformatic Cloud (currently in beta) — Our hosting platform that includes features such as preview apps, built-in metrics and integration with your Git flow (https://platformatic.dev/). 
In this workshop you'll learn how to develop APIs with Fastify and deploy them to the Platformatic Cloud.
Building GraphQL APIs on top of Ethereum with The Graph
GraphQL Galaxy 2021GraphQL Galaxy 2021
48 min
Building GraphQL APIs on top of Ethereum with The Graph
Workshop
Nader Dabit
Nader Dabit
The Graph is an indexing protocol for querying networks like Ethereum, IPFS, and other blockchains. Anyone can build and publish open APIs, called subgraphs, making data easily accessible.

In this workshop you’ll learn how to build a subgraph that indexes NFT blockchain data from the Foundation smart contract. We’ll deploy the API, and learn how to perform queries to retrieve data using various types of data access patterns, implementing filters and sorting.

By the end of the workshop, you should understand how to build and deploy performant APIs to The Graph to index data from any smart contract deployed to Ethereum.
Hard GraphQL Problems at Shopify
GraphQL Galaxy 2021GraphQL Galaxy 2021
164 min
Hard GraphQL Problems at Shopify
Workshop
Rebecca Friedman
Jonathan Baker
Alex Ackerman
Théo Ben Hassen
 Greg MacWilliam
5 authors
At Shopify scale, we solve some pretty hard problems. In this workshop, five different speakers will outline some of the challenges we’ve faced, and how we’ve overcome them.

Table of contents:
1 - The infamous "N+1" problem: Jonathan Baker - Let's talk about what it is, why it is a problem, and how Shopify handles it at scale across several GraphQL APIs.
2 - Contextualizing GraphQL APIs: Alex Ackerman - How and why we decided to use directives. I’ll share what directives are, which directives are available out of the box, and how to create custom directives.
3 - Faster GraphQL queries for mobile clients: Theo Ben Hassen - As your mobile app grows, so will your GraphQL queries. In this talk, I will go over diverse strategies to make your queries faster and more effective.
4 - Building tomorrow’s product today: Greg MacWilliam - How Shopify adopts future features in today’s code.
5 - Managing large APIs effectively: Rebecca Friedman - We have thousands of developers at Shopify. Let’s take a look at how we’re ensuring the quality and consistency of our GraphQL APIs with so many contributors.