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

Articles

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.

Articles

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.

Articles

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.

Articles

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.

Articles

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.

Articles

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.

Articles

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.

Articles

GraphQL Resolvers: Best Practices

A detailed dive into resolvers, and a kickoff article to a series about Paypal's best practices and observations for building GraphQL APIs. Offering some tips and guidance for understanding how common practices could end up being inefficient, the article covers fetching and passing data in resolvers and subsequently illuminates the points with some examples. A great read for a well-written summary of effective resolver practices.

Our learnings from adopting GraphQL

Describing how GraphQL supports the buzzing engine of the Netflix Marketing Tech team (covered in a fascinating series in its own right: part 1 and part 2), this blog post explains the benefits offered by GraphQL for the internal application that creates and manages Netlfix ads, called Monet. It also covers the challenges that GraphQL brought with it: such as duplicate network requests, difficulty debugging code due to abstraction, and the impact of partial objects fetched with GraphQL.

GraphQL Stitching 101

An interesting overview of schema stitching in production! Reading this article, which covers both schema stitching and schema merging rooted in examples and experiences from artsy, one comes away with an understanding of the ways to apply and use schema stitching as well as how to validate that the process was done successfully.

Articles

GraphQL: A Retrospective

After a migration two years ago from a legacy PHP system to GraphQL and Python, Verve recounts their experience with GraphQL, sharing how they implemented a stateless API gateway for their code. Explaining their rules for their backend API, and transparently covering some of the challenges they've faced in the build out, this blog post is an exciting piece that highlights, once again, the power of GraphQL to help teams move faster with greater autonomy.

ReasonML with GraphQL, the Future of Type-Safe Web Applications

For those curious to explore more with ReasonML and GraphQL, Ian Wilson has created a helpful tutorial on creating a small web app with a GraphQL endpoint and using ReasonML. A helpful walkthrough, the piece sets you up to create an app to track video games you've finished (a fun take on the classic to-do list) and offers some helpful resources to continue learning ReasonML.

Articles

Using graphqlgen for our cloud stack

After Prisma's announcement of graphqlgen a couple of weeks ago, this article dives into how Meeshkan uses it within their cloud stack. This article goes over some key takeaways Meeshkan had working with graphqlgen and offers both examples and instructions on how to implement it oneself. A really great article to read to get a better understanding of resolvers in Apollo Server, graphqlgen; and it features a little bonus section unit testing your resolvers.

Building an API with GraphQL and Go

In his post, Bradford Lamson-Scribner offers a step by step guide to setting up an API using Go, GraphQL, and PostgreSQL, playing around with a small amount of dummy data. This tutorial provides a handy and straightforward walkthrough for anyone seeking to get started with Go and GraphQL.

Articles

Discovering GraphQL endpoints and SQLi vulnerabilities

Matías Choren covers the way that individuals can confirm that GraphQL is being used and some SQL injections that may affect it. A sobering reminder that security should be top of mind no matter the tool in use.

Full Schema Stitching with Apollo Server

A post that cover stitching queries, mutations, and subscriptions from an Apollo Server and its Links packages, focused on the core of schema stitching. For those new to schema stitching, one can find a broader introduction here.

Articles

Deploy a Fullstack Apollo app with Netlify

Sashko Stubailo dives into setting up a "Hello World" API for an Apollo app on Netlify. Netlify allows you to hook into AWS Lambda and the possibilities of serverless, resulting in a final product that easily scales to production workloads. An interesting use case to read through.

Creating a TypeScript API that consumes gRPC and GraphQL via generated types

This article by Noel Veranda demonstrates how to get a fully end-to-end Typed API, written in TypeScript with types generated for the entire application. Noel also shows readers how you can use these types on any front-end clients, the issues encountered during implementation, and how the overall experience has been.

A Guide to GraphQL in Plain English

Have friends who still aren't familiar with GraphQL? 🧐 This guide from freeCodeCamp has an approachable introduction that you can share to help get them started!

Articles

Build a Full GraphQL Server with Node.js

While there are many articles on setting up a GraphQL server, Jack Scott has published one with all of that useful information compiled into a single detailed guide on setting up a production server. This comprehensive article covers topics from creating a basic GraphQL structure and making queries and mutations, to connecting a database and adding authentication and authorisation. This is a great article for people seeking a full introduction to GraphQL servers and is packed with helpful links to learn more.

A Gentle Introduction to GraphQL API Integrations

Hugo di Francesco shares a quick introduction to the core concepts around consuming a GraphQL API. This is an example heavy article and a great reference!

Articles

How to use arrays in GraphQL (GraphQL Modifiers)

In this article David Mraz goes through modifiers, a special group of types which allows users to modify the default behavior of other GraphQL types. In GraphQL we deal with various types, such as scalars and custom scalars, enums, objects and input object types, and more abstract types - interfaces and union types. Check out this article to learn how you can leverage these types in your application!

Layering GraphQL on top of REST

Building a universal GraphQL API on top of your existing REST APIs and backends allows you to ship new features without writing new endpoints or waiting for backend changes. This post from Prosper Otemuyiwa walks you through writing a GraphQL API on top of an existing PHP backend! It's a must read for engineers transitioning to GraphQL from a previous REST-based architecture.

Articles

Building Trending Activity Feeds Using GraphQL And Neo4j

This post by William Lyon shows how the Neo4j developer relations team built out a trending activity feed feature on the Neo4j Community Forum. This is an awesome article because they go in depth on their 'GraphQL First' development approach. William breaks down the APIs of this feature and shows off their view of the GRAND stack. Check this out!

Articles

Improving Scalability: Up to Four Times More Throughput in Prisma 1.14

The latest release of Prisma contains many performance improvements making 1.14 the fastest version ever. This release brings significant improvements for both throughput and speed. When your Prisma server is operating under normal load, v1.14 reduces the time to resolve a single query by 35%. Prisma is now able to execute 4 times as many requests as before while maintaining single digit millisecond execution time.

Multiple Apollo Clients with React?

This article from Alejandro Estrada explains an alternative approach to the common GraphQL architectural pattern Schema Stitching. In this post, Alejandro walks through how easy it is to embed multiple Apollo Clients in your application. Along with that, Alejandro goes through the API Gateway approach and a unique take on client-side schema stitching.

GraphQL Gateway Architectures

This article from Tomas Alabes is all aboutGraphQL Gateway Architectures. GraphQL Gateways have been really crucial for supporting larger architectures in the GraphQL community. Thomas outlines Remote Schema Stitching, using Prisma's GraphQL Bindings, and much more.

How We're Constantly Improving the Performance of Prisma | Prisma

Fast and predictable performance is crucial for software to succeed. Therefore, ensuring great performance is of Prisma's key goals. This post discusses the practices and tools used by the Prisma engineering team to make sure that their software meets high performance standards.