State of GraphQL
State of GraphQL brings together core contributors, members of the GraphQL Foundation, and community leaders to talk about the future of GraphQL, and answer audience questions.
Shout-out to the sponsors of the event, StepZen and Moon Highway!
One GraphQL API. All Your Data. Zero Infrastructure.
StepZen is a GraphQL-as-a-Service provider, even including a FREE forever pricing tier with 300k calls/month included.
- Tracy Lee, CEO, This Dot Labs
- Eve Porcello, Co-founder & Instructor, Moon Highway
- Uri Goldshtein, Founder, The Guild
- Carlos Rufo, Engineering Lead, GraphCMS
- Joey Nenni, Web Engineering Lead (GraphQL), PayPal
- Janessa Garrow, Developer Experience Engineer, Apollo GraphQL
- Tanmai Gopal, Founder, Hasura
The first portion of the State of GraphQL covered updates from each panelist.
The GraphQL Foundation
One of the first topics covered by State of GraphQL was The GraphQL Foundation.
The GraphQL Foundation is a neutral foundation founded by global technology and application development companies. The GraphQL Foundation encourages contributions, stewardship, and a shared investment from a broad group in vendor-neutral events, documentation, tools, and support for GraphQL.
Uri opened up the conversation by emphasizing how open the foundation is. The GraphQL Foundation has always been open, but it's now easier than ever to become part of the community. The true "meat" of where the GraphQL action is though is in the GraphQL Working Group. There, topics such as changes to the GraphQL spec, ideas for new features, and more are discussed. Also, all the meetings are recorded and even summarized by text!
Odyssey is Apollo's free interactive learning platform.
Janessa from the Apollo team introduced us to Apollo Odyssey. Odyssey is Apollo's official learning platform. It was created to improve the developer experience of learning GraphQL. While some people may be able to learn effectively from docs, others may find different learning styles, like those offered by Odyssey, a more effective way of learning.
Courses offered range from the basics, like what are queries and resolvers, to the more advanced subjects, such as Apollo Federation.
Tanmai from Hasura spoke next about updates done within Hasura. One of the biggest new features is support for cross-database joins over GraphQL. This update allows the developer to retrieve data from any number of data stores with efficient queries. The next thing being worked on now is end-to-end streaming.
Joey Nenni of PayPal spoke about PayPal's experience with adopting GraphQL. He mentioned that once PayPal supported developers with tooling and sample apps, GraphQL spread like wildfire. Seeing the potential to do more with GraphQL, especially with sharing components, PayPal looked into Apollo Federation about 9 months ago, and as of about 2 weeks ago, they are now live with millions of requests already going through their gateway.
Joey also spoke about how GraphQL adoption is really about persistence. It's an iterative process. By making small steps, collecting small wins, and repeating that process, it becomes a lot easier to sell GraphQL. Joey coined the term "Guerilla Warfare" when it comes to finding successful implementations for GraphQL solutions.
GraphCMS gives you instant GraphQL Content APIs to create, enrich, unify, and deliver your content across platforms.
GraphCMS recently hosted GraphQL Conf AND has recently raised $10 million in a Series A funding round. With all of this GraphQL focused momentum, GraphCMS is poising itself as a powerful solution for Headless CMS.
The ultimate content platform that enables you to deliver applications at scale.
Defer and Stream
One important piece of information that Uri brought to the groups' attention was that defer, stream, live queries, and other features in spec proposals, but not in the actual spec, CAN BE USED SAFELY. Uri noticed a patter in production settings: once people have been given the option to use these new features, like defer, they see how valuable those features can be.
If you want to see more information involving these GraphQL directives, you can check out a blog post covering them here.
Implement a single graph across multiple services
One very popular subject that is commonly brought up in Apollo conversations is Apollo Federation, and the idea of having a unified Graph connecting many services.
For PayPal, they spoke about the experiences encountered while transitioning some of their shared logic to a federated graph, while maintaining developer experience.
Apollo itself had a very positive experience using Apollo Federation. They ran into the need to unite two services, one written in Kotlin, and one in TypeScript, and have them run under a single gateway. This was a very big win and prevented the need for developers to learn additional languages to support a larger graph.
Tanmai had a balanced perspective on Apollo Federation:
Are we federating how the API comes together and presents itself? Or are we federating the execution itself?
He shared his experiences with analyzing where exactly a federated graph could be a good fit.
For Uri, he spoke about how the most important question is, "Are we actually making the product development faster?" Adopting Apollo Federation may give a different answer depending on the team and work being done.
GraphQL is still growing rapidly, and as shown in this State of GraphQL, there is a growing thriving community surrounding it. Continue the conversation, no matter your experience level, and check out the GraphQL Working Group. While this was a quick summary of the things spoken about during the State of GraphQL, you can catch the whole video on YouTube.
Thank you for enjoying the State of GraphQL!