GraphQL 101: Summary
The GraphQL 101 series is finished. We've examined the parts of the GraphQL specification and learned what they do. To recap:
What is GraphQL?
GraphQL is a query language and a server-side runtime for APIs that prioritizes giving clients precisely the data they request, no more and no less.
What is the GraphQL Specification?
The specification is a document that describes what can be included in a GraphQL implementation and how those parts should work.
The GraphQL Spec describes a query language used to form "requests" submitted by clients and a type system that combines various types to create a schema set by the server as instructions for validating and executing GraphQL requests. The schema, also, describes the response format used to deliver responses back to a client. Clients determine the shape of data returned to them by constructing queries.
This series has used examples from the Github API. These real examples hopefully ground the explanations of GraphQL from a real-world API that can be further investigated by anyone who would like to do that.
. . .
Today I Learned
As a result of what I'm learning through producing this series, I've found there are signals and ideas that either I don't fully understand or are just not fully formed enough for a post here. Inspired by others who are "Learning in Public", I'm posting these along with my replies to questions that I'm receiving in other environments like social media or more directly in an email, etc. These snackable micro-posts will come in the in-between spaces of my GraphQL series and the GraphQL Landscape Weekly Report. This topic exhaust can be found under Today I Learned at the top navigation section of this blog. My Twitter account includes this and other observations and micro thoughts. @mojosd
Next Up GraphQL 201
Now that we have the parts, know how they are connected, and how they work it's time to look at GraphQL architectural styles and examples of reference architectures that have been implemented at specific companies. It is often reported by tech leaders and engineers that the first obstacle to designing GraphQL APIs is the change in the mental model. So let's consider: what does it take to think in graphs?