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.
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.
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.
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.
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.
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.
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!
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
🙌🌍 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 (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.
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.
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.
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.