To GraphQL or not to GraphQL? Pros and Cons

This page summarizes the projects mentioned and recommended in the original post on

Our great sponsors
  • OPS - Build and Run Open Source Unikernels
  • SonarLint - Deliver Cleaner and Safer Code - Right in Your IDE of Choice!
  • Scout APM - Less time debugging, more time building
  • GitHub repo graphql-query-complexity

    GraphQL query complexity analysis and validation for graphql-js

    The problem is that those queries are not prevented by commonly available rate limiters. You can send a single request to a GraphQL server that completely overwhelms the servers. To prevent such queries to GraphQL APIs, I wrote graphql-query-complexity, an extensible open-source library that detects such queries and rejects pathological queries before consuming too many resources on the server. You can assign each field a complexity value, and queries that exceed a threshold will be rejected. In Slicknode this protection is added automatically based on the number of nodes that are being returned.

  • GitHub repo graphql-relay-php

    A library to help construct a graphql-php server supporting react-relay.

    I have ported a library to create Relay compatible GraphQL APIs from JavaScript to PHP

  • OPS

    OPS - Build and Run Open Source Unikernels. Quickly and easily build and deploy open source unikernels in tens of seconds. Deploy in any language to any cloud.

  • GitHub repo starter-nextjs-blog

    NextJS + Slicknode Headless GraphQL CMS blog starter kit

    I have built thousands of GraphQL APIs in the process of creating Slicknode (, a framework and headless CMS to rapidly create GraphQL APIs

  • GitHub repo dataloader

    DataLoader is a generic utility to be used as part of your application's data fetching layer to provide a consistent API over various backends and reduce requests to those backends via batching and caching.

    This is also related to the N+1 problem, where nested queries make the number of database requests explode. If you want to learn more about this problem, I recommend this video and checking out dataloader, a library released by Facebook to help with batching queries and solving this problem.

  • GitHub repo foundation

    GraphQL Foundation Charter and Legal Documents (by graphql)

    The official website describes GraphQL as "A query language for your API". The process is explained as "Describe your data ➜ Ask for what you want ➜ Get predictable results".

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts