A weekly newsletter of the best news, articles and projects about GraphQL


GraphQLifying REST

A detailed tutorial on how to use AWS AppSync to perform GraphQL queries and mutations against existing REST API endpoints. The tutorial shows how easy it is to define HTTP data sources and quickly map them to a GraphQL schema of your choice. A link to a video walkthrough is provided at the end of the tutorial.

An Empirical Analysis of GraphQL API Schemas in Open Code Repositories and Package Registries

This short academic paper provides a real world analysis of how GraphQL is being used. Reviewing over 20,000 GraphQL related projects and 37,000 dependent packages and repos, the paper highlights the usage of different schema constructs, the number of distinct types and the most popular types in schemas, as well as the presence of cycles in schemas.


GraphQL Trends in 2019

An in-depth article gives an overview of the current state of GraphQL, recent trends, and a prediction for the most relevant topics in GraphQL in 2019 and the near future. The article highlights the new services and tooling the GraphQL community has developed and provides links to all the resources and events mentioned.


The state of GraphQL

In this article, Tomek dives into some of the findings from the stateofjs.com and looks into GraphQL's increasing popularity, most liked aspects, most disliked aspects, and the usage. You can find his analysis and the link to the original survey in the article.


Best Practices for Versioning REST and GraphQL APIs

This in-depth article discusses the different approaches for maintaining backwards compatibility and their impact on the development lifecycle of GraphQL and RESTful APIs. The article reasons out when to use an evolutionary approach instead of versioning and provides some examples of best practices.


Elixir, Phoenix, Absinthe, GraphQL, React, and Apollo: an absurdly deep dive

This detailed blog dives into building a full-stack GraphQL application using Elixir, Phoenix, Absinthe, GraphQL, React, and the Apollo stack. Gain valuable insights on the inner workings of client, server, authentication, testing, and Apollo.

Complex GraphQL Filtering With neo4j-graphql.js

An advanced tutorial on combining filter inputs within GraphQL queries using neo4j-graphql. The blog discusses how we can modify filter arguments by nesting or adding logical operators. Try it out in real time with the Codesandbox provided in the post!

Schema-First GraphQL: The Road Less Travelled

This article discusses the different approaches for GraphQL API development and makes an argument for schema first design. Although he primarily explores the benefits of schema first design, he also shares his case for code-first development.


The tension between data & use-case driven GraphQL APIs

In this article, Marc-André Giroux comments on the differences between data and use case driven schema design . Even with a tendency to lean toward a use case driven approach, there are some clear downfalls when handling details like pagination and timeouts. As with most things, a combination of strategies may solve these problems. Marc offers a few ideas to merge the two strategies and benefit from each of their strengths.

TypeGraphQL and GraphQL Nexus — A Look at Code-First APIs

Rohit Ravikoti at Novvum provides a clear comparison of two popular code-first GraphQL libraries, TypeGraphQL and GraphQL Nexus. The article does a great job of outlining the advantages and disadvantages of each API and provides coded examples of their differences. This is a great place to start when exploring code-first GraphQL development with Typescript or Node.

Understanding GraphQL Mutations

An in-depth introduction for beginners to understanding GraphQL mutations. The article provides a helpful summary on the different use cases for mutations as well as how to return custom objects.

Behind the scenes of Hootsuite Inbox

A deep and fascinating article on how Hootsuite used GraphQL to build out their inbox tooling. The piece walks through the the challenges the team faced with views and the ways that the collaborative nature of the software required all actions taken to be asynchronous and having eventual consistency. Told through an example of a more generic todo list, this article is a great read through some of the benefits and challenges of GraphQL in development.


A Different Approach to GraphQL Caching

This blog post explores the different GraphQL libraries, such as Apollo and Urql, that keep track of cache data. He shares some insight on the benefits and tradeoffs on client-side parsing of your queries. This post also demonstrates the real use cases for the new micro-graphql-react library which helps with non-searched data and soft resetting search results.


A Practical GraphQL Architecture

An engineering blog post from Globality, this article shares some great insights on how they use GraphQL in the products they build. This includes explanations of rules and patterns they use to help separate concerns, enforce consistent resolver patterns and optimize for performance. The blog provides some advanced tips and suggestions for building practical GraphQL architectures and a few links to Globality's open-sourced internal frameworks.

The rise of GraphQL “Overambitious API gateways”

API gateway services and vendor solutions can be found all over the internet. However in this article, Marc-André Giroux contemplates why they have not started to appear within the GraphQL ecosystem. Marc shares his thoughts and feelings on the potential of general purpose GraphQL gateways and the features he would like to see them include.


Meet Chaos Panda: How New Relic Does Chaos Engineering With the GraphQL API

A blog post from New Relic describing their GraphQL Chaos Engineering solution. Chaos Panda is an interesting, new tool used for chaos engineering that uses GraphQL to carefully configure production testing to add latency to responses or cause certain fields to fail at specific rates. While the tool is limited to New Relic, the possibilities of using Chaos Engineering (an emerging field) with GraphQL continue to highlight its growing usage.


How Prisma and GraphQL fit together

This article from Prisma provides an overview of Prisma's evolution and its relationship to GraphQL. Reiterating their excitement and highlighting the open source projects that Prisma is building in the open source community as well as organizing GraphQL conf, the blog post also highlights the applicability of Prisma beyond the GraphQL space.

Query Your Network Like a Database

This article gives an interesting look into the DevOps perspective of GraphQL and how to handle network process automation. The article explains the challenge of creating a structured data model of network details that a single programmatic query could leverage and how GraphQL tackles this problem. There are also examples in Python of GraphQL queries that can apply across the entire network.


GraphQL Will Power the Decentralized Web

Brandon Ramirez at The Graph outlines how GraphQL could be the future for interacting with blockchain, dAPP and Web3 information. He dives into why GraphQL could provide the best way for developers to consume this data and how protocols and query languages like REST and SQL fall short. One possibility he suggestions is that the flexibility of GraphQL and its ability to access data across organizational trust boundaries makes it an intriguing option for developers building the future of blockchain powered user interfaces.

GraphQL: Intuit’s Path to ONE API System

In his essay outlining the early adoption and lessons learned from using GraphQL at Intuit, Peter Vogel covers the history of GraphQL at the company. Intuit moved from a very unwieldy API (at one point with 80 unique API endpoints) to being a very early adopter of GraphQL in 2015. With the background shared, the article proceeds to cover some of the lessons of Intuit's adoption of GraphQL including being intentional about edges between nodes and the challenges of large schemas for mobile tools.


Optimising Your GraphQL Request Waterfalls

A straightforward and helpful guide, this post uses a hypothetical event app to highlight how to optimize a GraphQL server. Outlining how batching and being critical about the order in which you fetch data (resolving the children of a query before the parent) can make a big difference in your app's performance, the piece leads a reader from simplest implementation to a more sophisticated approach.

Why Companies are Adopting GraphQL

As the first in a series of blog posts by Novvum, this article analyzes survey response data from engineers and CTOs at companies who have added GraphQL to their stack. With responses from teams of various sizes, the article provides insight on why the teams chose to use GraphQL and how it lived up to their expectations. The survey received responses from small startups as well as companies such as Houzz, Paypal, Airbnb, Shopify and more.


GraphQL Resources: top tools, extensions & tutorials for beginners

A helpful summary of some of the most useful tools and blogs in the GraphQL ecosystem, this handy article invites others to contribute in the comments section.

GraphQL in a Micro Services Architecture

This article covers how a team used GraphQL with microservices. While the microservices implementation originally lost out on some of the advanced capabilities of GraphQL, such as server side batching and caching, the blog post captures how GraphQL schema stitching was able to solve the issue.

Defining Graph Database Schemas by using the GraphQL Schema Definition Language

A detailed piece by Olaf Hartig, the abstract summarizes it by saying, "In this document we propose an approach to repurpose the SDL such that it may also be used to define schemas for graph databases that are represented using the Property Graph data model." For those new to the subject, the article links to some helpful pre-requisites on Schemas and Types and as well as the Property Graph Model.

How Does GraphQL Fit Into Your Product Stack?

This is a blog post for product owners and developers who are considering GraphQL, or have seen the hype and want to know more from a business perspective. Ryan makes the case for GraphQL and how it could benefit your product. The blog post explains exactly what GraphQL is and each part of the implementation on the server. Additionally, the post gives points about why you shouldn't use GraphQL.


Principled GraphQL

A beautiful and well-made site put together by Apollo, Principled GraphQL lays out the GraphQL best practices that Apollo has learned over the years. Inspired by Heroku's 12 factor app , this page covers 10 principles of effectively using GraphQL. They are divided into three sections: Integrity Principles, Agility Principles, and Operations Principles.

Why we Killed our REST API in Favour of GraphQL

This post by Crystallize goes over their move to using GraphQL exclusively. In the past they used GraphQL to deliver product information but also had a REST API in place for their Product Information Management product. In their detailed article, they discuss their motivations for moving to a GraphQL API for both use cases, with reasons including (among others) the low latency they achieved with GraphQL, the input validation GraphQL makes possible, and automatic documentation of the API.

Optimizing a GraphQL app using Apollo Engine

A helpful post on analytics and taking steps to optimize your GraphQL app, the article walks through Ok Grow's strategy and suggestions. With helpful examples, illustrations, and a straightforward summary of how Apollo helped them diagnose issues, the piece is a nice summary of how to get information out of a GraphQL app with Apollo.

Why GraphQL is the Future of APIs

For those just starting to learn about GraphQL, this is a helpful piece that covers the benefits that it provides over REST. A helpful article to share with colleagues seeking a high level overview of GraphQL's capabilities and features.


Launching SpaceX GraphQL API 🚀

🙌🌍 It's true that this article covers the toolings and learnings from creating a production ready modern API, but, more than that, it bubbles with joy. In this piece Carlos Rufo offers a follow up to his previous article on Migrating SpaceX API to GraphQL. In this piece, he dives into the actual implementation details and, as a bonus, shows off how one can even have a REST API with the benefits of the GraphQL version. A fun and fascinating read that really reminds us of how much amazing information can be at our fingertips! 🚀🌌

Sofa — The best way to REST (is GraphQL)

Sofa (pun intended) allows individuals to turn GraphQL APIs into REST ones. The article that describes the tool covers the its feature and benefits and how it works in general. One section that was extremely compelling was the article's explanation on why, in some cases, there is a benefit to having a REST API on top of a generated GraphQL API on top of a REST API. The answer in this case being in order to allow for "gradually migrating from old REST implementations". A really neat tool and a fascinating read by Urigo, one of its creators.

The Problems of "Schema-First" GraphQL Server Development

This is the first of three articles by Prisma covering the issues with a schema-first approach and sharing the benefits of an alternative, code-first. Covering the evolution of schema-first development and the subsequent tooling ecosystem that emerged to support it, the article also covers the issues and workarounds caused by that approach. The piece concludes by covering in more detail what a code-first approach means in practical terms. An interesting and thought-provoking post.


Accelerate: Transforming Nike Digital APIs with GraphQL

In his detailed article on GraphQL at Nike, Austin Corso, gives a great overview of all of the places where GraphQL has been incorporated at Nike and the difference that it made for their engineering organization. Explaining that the move to GraphQL meant “Four weeks of engineering saved” and “7,500 lines of client code and tests eliminated”, this article provides an interesting case study of GraphQL in not one but six different products.

Top 5 GraphQL Predictions for 2019

Nikolas Burk has published 5 GraphQL predictions for the coming year. Take a look and see how many you agree with or also saw coming.

React Native & GraphQL: Hard, but Awesome

Sandwiched between two other talks, this one ending at 40:24, this talk focuses on the use of React Native and GraphQL at the The Times. A nice overview to compare with the React and GraphQL case study at the New York Times, Andy Raines covers the challenges that serving optimised content across so many different channels really entails.