GraphQL is all about having a single endpoint to query the data, but there are situations where it makes sense to instead have multiple endpoints, where each custom endpoint exposes a customized schema. This article explains how to identify those situations and what some of the advantages and drawbacks are.
Elsevier is a global leader in information and analytics in scientific publishing and helps researchers and healthcare professionals advance science and improve health outcomes for the benefit of society. With the help of Prisma, Elsevier is in the process of modernizing the scientific publishing process efficiently and with flexibility.
StepZen recently announced new free tooling to help simplify the management of GraphQL APIs. GraphQL Studio helps companies create a map of the various APIs your company uses, whereas their "GraphQL Federation" tool allows you to consolidate multiple APIs into a single graph.
AWS announced version 2 of their GraphQL Transformer tool, which allows for more explicit data modeling, includes a new authorization rule system, an improved OpenSearch integration, and a couple more interesting features.
Bill Doerrfeld from DevOps.com takes a look at the current state of GraphQL adoption, and common issues when scaling your GraphQL APIs as well as how to address them.
Bazyli Brzóska from the Zendesk engineering team takes a look at Laika, a new library that helps with testing, mocking, intercepting, and modifying Apollo Clients operations and how it can be used to help test GraphQL subscriptions.
Anant and Dan dive into how to efficiently build a unified GraphQL API, which approaches are available, and common considerations when designing and implementing the unified API.
Iskander provides us with an intro to Apollo Caching, cache normalization, and how the cache setup can help improve application performance.
A detailed walkthrough on implementing a GraphQL server using ent and gqlgen. ent provides the ORM framework and makes it easy to support various database systems as well as a 100% statically typed API via code generation.
Roy Derks explores how to document your GraphQL APIs, how introspection and the playground can help what additional static documentation can bring to the table.
Alex Leahu from Forces Unseen provides an introduction on how to test and secure your GraphQL APIs, what to look for when implementing your service, and common mistakes.
In part 1 of a multi-post series, Arnaud Lachaume of Keypup explores how to get started with GraphQL in a Ruby on Rails project, the required dependencies, and what you need to expose your resources with a single line of code.
Earlier this week the first release of the GraphQL spec, ratified by the GraphQL Foundation, was released to the public. Lee Byron goes over why it took over 3 years since the last ratified release, what's new in the 2021 spec and what's next!
Leonardo Losoviz wrote up a great summary of GraphQL Conf 2021, which took place a couple of weeks ago. He watched all of the recordings and summarized talks on schema stitching, federation, architecture, and more.
Salma Alam-Naylor explains how using GraphQL variables adds an extra layer of protection for your APIs by adding type safety and providing more documentation to your users. And then she dives deeper into what is and isn't possible using variables.
Krzysztof Lis wrote a guest series on the AWS Compute blog about IMDb's journey from a monolithic REST API to GraphQL. The third, and final, article goes into detail on how they are monitoring their AWS Lambda based API and what steps they have taken to tune performance.
To provide a general solution to the problem of building (near) real-time views while abstracting the complexities of the data systems, Figma developed LiveGraph. It provides a data fetching layer on top of Postgres that allows your frontend code to request real-time data subscriptions expressed with GraphQL.
GraphQL and microservices architectures are perfectly compatible. You can use GraphQL as a data layer for these microservices and combine data from all these services into one universal API. This way, you can break the core of your services into different microservices while still providing one endpoint that your clients can interact with.
Instatus allows its customers to create status pages for their products and services. They are beautiful, customizable, and load super quickly for visitors. For example, Linear uses them for their status page. Let's dive into their architecture to understand how GraphCDN's GraphQL edge cache helped reduce their infrastructure costs by a whopping 86%.
Leonardo Losoviz explores how you can modify the output of a GraphQL field with arguments or directives, the pros, and cons, and ultimately makes a recommendation on when to use which approach.
Read up on how GraphQL Federation allowed RetailMeNot's developers to iterate faster and reduce their dependencies.
Jamie Barton explores GraphQL’s built-in schema and operation directives that all GraphQL spec compliant APIs must implement.
Listen to Phil Pluckthun explaining what the guiding principles for urql are and how those helped differentiate from other GraphQL clients.
“GraphQL doesn’t support caching” is something you can read in the inter-webs. The perception that GraphQL is at odds with caching is something Jamie Barton addresses in his post. He walks through different caching techniques and how to leverage cache for GraphQL queries.
In this article, the team at Courier goes through the initial reservations they had before adopting GraphQL and looks back on how the adoption impacted their organization over the last year. It's a great example that it doesn't have to be black or white with GraphQL and REST. Both can exist side by side.
GraphQL directives can be very powerful but also have unintended side effects. GraphQL clients like Relay might not be able to deal with specific directives the way they were intended by the GraphQL server, as they're not necessarily specced. Leonardo Losoviz differentiates between schema and query type directives and talks about their pros and cons.
In 2018 Skillshare was struggling with performance and maintainability with their REST API, built as a PHP monolith. After attempting a rewrite in GraphQL, they finally settled for a federated approach. In this article, Justin Rodermond and Luis Aguilar from Skillshare talk about their journey through this process.
GraphQL has been debated endlessly in the world of web application development. Which is superior, REST API or GraphQL? Is it worth taking on the learning curve of a new query language for marginal gains in performance? When it comes to manufacturing data, the answer is a resounding YES. It is absolutely, unquestionably worth it. Follow along with this article to learn about ways in which GraphQL has the potential to create tremendous value in Manufacturing execution systems (MES).
At MOIA, the move towards GraphQL and Apollo Federation has helped to make their API more approachable and concise. However, the process was not frictionless. In this article, hear from the MOIA team about their journey to GraphQL Federation, the challenges they faced and the lessons learned.
Historically, IMDb uses a monolithic REST gateway system that serves clients. Over the years, it has become challenging to manage effectively. In this article, follow along with Krzysztof Lis to know how to build a federated GraphQL API on AWS Lambda.
With the increased adoption of GraphQL, the emphasis on security has also increased. Jens Neuse talks about 13 of the most common GraphQL security vulnerabilities and possible solutions in this article. The author further suggests that by rethinking your approach to GraphQL, you can ensure improved security along with other benefits.
In this article, Shruti Kapoor explains the journey of Paypal in adopting GraphQL, the motivation behind the change and various challenges they faced along the way. Today, GraphQL is being used by several production apps across PayPal. It is now a default pattern to use GraphQL for building new UI apps, and many existing apps are in the process of migrating to GraphQL.
Dream11 is a fantasy sports platform with over 110 million users. Shrey Mehta and Kaushik Barodiya talk about adopting GraphQL to create a unified presentation layer for their back-end microservices in this very in-depth article. Follow along to understand many of the techniques they used to identify and resolve performance bottlenecks along with various other challenges.
A thought-provoking article about the different approaches for maintaining backward compatibility and their impact on the development lifecycle of APIs. Kay Ploesser provides a thorough comparison between the continuous evolution approach favored by GraphQL with the versioned approach often used in REST APIs.
Over the last six months, SSENSE developed a federated gateway to their presentational micro-services (commonly referred to as the back-of-the-front-end). During this period, they also planned and migrated a single code path on the website to use the newly minted gateway. In this article, Quinn Langille gives a brief look into how and why they chose this pattern to evolve their consumer applications at SSENSE.
If you are using Typescript, it can be a problem having to keep your GraphQL Operations (e.g. Query or Mutation) in sync with the type definitions. Jens Neuse talks about solving this problem as well as about how to keep the database schema, API schema and User Interface Components in sync.
Benchling is a platform for life sciences R&D with a highly customizable and extensible data model. In this article, Damon Doucet talks about how Benchling incrementally adopted GraphQL, along with key takeaways and learnings from this process.
Diagnosing performance issues in GraphQL can be difficult. In this article, Gavin Ray goes through some of the tools that are available in Hasura, as well as common pitfalls and useful tips to help get better visibility over the performance of an API.
Neo4j helps build intelligent applications and machine learning workflows in GraphQL. In this article, Darrell Warde talks through some of the new features released as part of version 2.0.0.
GraphQL makes it easy to query data across multiple sources. This can expose protected data if not configured correctly. In this article, Leonardo Losoviz explains why, as the creator of a GraphQL plugin for Wordpress, it should not be included in Wordpress Core.
GraphQL helps reduce the over-fetching of unnecessary data, however, poorly constructed, deep queries can cause multiple, expensive trips to the database. In this article, Vanessa Lutz explains the N+1 issue, and how this can be solved with tooling.
Is GraphQL secure? In this article, SecurityGOAT clears up some misconceptions about GraphQL, and talks through how some of its convenience features could make it vulnerable to attacks.
SwiftGraphQL is a lightweight GraphQL client for the Swift programming language. In this article, Matic Zavadlal gives a brief introduction of the project and its goals, and demonstrates how easy it is to get started.
Microservices help to encapsulate functionality into small, single responsibility pieces. This can reduce dependencies across teams, but may make querying data more complex. In this article, Nicolas Bohorquez argues the importance of a Federated GraphQL architecture and explains how Apollo can help to aggregate data across multiple data sources.
The GraphQL specification is an ongoing work in progress. It is fueled by a vibrant community of awesome individuals, who regularly assess new potential features and guidelines to improve the spec. In this article, Leonardo Losoviz picks five proposed feature requests from the GraphQL Spec GitHub repo, and demonstrates how these could be used to drive the spec forward.
The Node.js reference architecture is a collection of documents from Red Hat and IBM, that aims to provide some guidance on developing Node.js applications. In part four of this series, Wojciech Trocki steps through some of the discussions the team had about implementing a GraphQL server - accompanied by comical illustrations.
Apollo Server is one of the easiest ways to create a GraphQL API. Join Vivek Ravishankar, as he steps through some of the "under the hood" improvements the team have been working on, that will improve Apollo's ability to build better, more extensible features over time.
Envelop is The Guild's new plugin system for GraphQL. In this article, Dotan Simha steps through why GraphQL needs a plugin system, and how Envelop solves this problem.