GraphQL Foundation Monthly Newsletter October 2020
GraphQL has redefined how developers work with APIs and client-server interactions. And as the community works hard to foster the growth and adoption of GraphQL, we are excited to share the work of the community and discussions via the monthly GraphQL Foundation newsletter.
WG Updates
The GraphQL Working Group meets monthly, and records detailed minutes. You can also listen to the replays of GraphQL technical meetings on YouTube.
Query ambiguity: discussion of replacement terms
In the GraphQL ecosystem the term “query” can seem overloaded and ambiguous - sometimes it refers to the query operation type or a query operation, sometimes it refers to a GraphQL request or a GraphQL document containing operations, sometimes it refers to the contents of selection sets (as in “query reuse”), and sometimes it is used as a verb to refer to the generic act of querying a server for information.
The WG discussed the best way to remove this ambiguity and how to move forward.
Schema Coordinates RFC check in
The RFC is filed, and the next action is to turn this into an actual spec edit.
Tagged type update
This is an RFC for a new “Tagged type” to be added to GraphQL. It replaces the “@oneField directive” proposal following feedback from the Input Unions Working Group. Please note that “Tagged type” is the working name, and may change if we come up with a better name for it.
A Tagged type defines a list of named members each with an associated type (like the fields in Object types and Input Object types), but differs from Object types and Input Object types in that exactly one of those members must be present.
The aim of the Tagged type is to introduce a form of polymorphism in GraphQL that can be symmetric between input and output. In output, it can generally be used as an alternative to Union (the differences will be outlined below). It goes beyond interfaces and unions in that it allows the same type to be specified more than once, which is particularly useful to represent filters such as this pseudocode {greaterThan: Int} | {lessThan: Int}
.
In Other News…
- Vox Media evaluates Apollo GraphQL Federation and The Guild Schema Stitching for the best GraphQL platform to manage “a chorus of applications working together to publish modern media”
- AWS released a “Decision Guide to GraphQL Implementation”
- Netflix discusses how it scales its API with Apollo GraphQL Federation via its next generation architecture, “Studio Edge”, which uses federation as a critical element.
- Building a GraphQL server with GraphQL Helix, a newly released library for building GraphQL APIs. The aim of GraphQL Helix is to allow developers to use new features that are not yet supported in other libraries and to prevent vendor lock-in.
- GraphQL Tools v7 was released to deliver the next generation GraphQL API Gateway, bringing a new way to federate multiple GraphQL servers, focusing on standard spec compliant GraphQ
- We’ve already announced that The Guild has recently joined the GraphQL Foundation and now they wrote a blog post about it. Who will be the next to join?
Upcoming Events
- Nov 17: GraphQL Contributor Days, in partnership with Hasura, will give important updates to the community, and provide a forum for anyone using GraphQL to have direct access to core contributors and authors of various libraries and frameworks through live chat and an online broadcast.
- Dec 2: Relay Meetup is a global, online meetup on Relay, the GraphQL client. This event will feature a conversation about the @defer and @stream directives and why it should be brought to the official GraphQL specification.
- Dec 7-8: GraphQL Galaxy Conference is a new remote conference focusing on all things GraphQL.
- Missed Apollo Day on Nov. 10th? Check out some of the great talks on Twitch.
Get Involved!
Developers can get involved in the community and contribute to the project at https://github.com/graphql.
Organizations interested in becoming members of the GraphQL Foundation or the GraphQL Specification can learn more on our member page. If you have questions about membership, please send an email to membership@graphql.org.