Need advice about which tool to choose?Ask the StackShare community!

GraphQL

23.3K
19.1K
+ 1
293
REST

20
159
+ 1
0
Add tool

GraphQL vs REST: What are the differences?

GraphQL: A data query language and runtime. GraphQL is a data query language and runtime designed and used at Facebook to request and deliver data to mobile and web apps since 2012; REST: A software architectural style. An architectural style for developing web services. A distributed system framework that uses Web protocols and technologies.

GraphQL and REST are primarily classified as "Query Languages" and "Remote Procedure Call (RPC)" tools respectively.

GraphQL is an open source tool with 11.7K GitHub stars and 753 GitHub forks. Here's a link to GraphQL's open source repository on GitHub.

Facebook, Instagram, and Twitter are some of the popular companies that use GraphQL, whereas REST is used by Zalando, ScoreBeyond, and Mercedes-Benz.io GmbH. GraphQL has a broader approval, being mentioned in 561 company stacks & 750 developers stacks; compared to REST, which is listed in 9 company stacks and 5 developer stacks.

Get Advice from developers at your company using Private StackShare. Sign up for Private StackShare.
Learn More
Pros of GraphQL
Pros of REST
  • 70
    Schemas defined by the requests made by the user
  • 62
    Will replace RESTful interfaces
  • 59
    The future of API's
  • 47
    The future of databases
  • 12
    Self-documenting
  • 11
    Get many resources in a single request
  • 5
    Ask for what you need, get exactly that
  • 4
    Query Language
  • 3
    Type system
  • 3
    Evolve your API without versions
  • 3
    Fetch different resources in one request
  • 2
    Ease of client creation
  • 2
    Easy setup
  • 2
    GraphiQL
  • 1
    Good for apps that query at build time. (SSR/Gatsby)
  • 1
    Backed by Facebook
  • 1
    Easy to learn
  • 1
    "Open" document
  • 1
    Better versioning
  • 1
    Standard
  • 1
    1. Describe your data
  • 1
    Fast prototyping
  • 2
    Popularity

Sign up to add or upvote prosMake informed product decisions

Cons of GraphQL
Cons of REST
  • 3
    Hard to migrate from GraphQL to another technology
  • 3
    More code to type.
  • 1
    Works just like any other API at runtime
  • 1
    Takes longer to build compared to schemaless.
    Be the first to leave a con

    Sign up to add or upvote consMake informed product decisions

    What is GraphQL?

    GraphQL is a data query language and runtime designed and used at Facebook to request and deliver data to mobile and web apps since 2012.

    What is REST?

    An architectural style for developing web services. A distributed system framework that uses Web protocols and technologies.

    Need advice about which tool to choose?Ask the StackShare community!

    What companies use GraphQL?
    What companies use REST?
    See which teams inside your own company are using GraphQL or REST.
    Sign up for Private StackShareLearn More

    Sign up to get full access to all the companiesMake informed product decisions

    What tools integrate with GraphQL?
    What tools integrate with REST?
      No integrations found

      Sign up to get full access to all the tool integrationsMake informed product decisions

      Blog Posts

      GitHubDockerReact+17
      34
      30948
      GitHubPythonNode.js+47
      52
      69816
      What are some alternatives to GraphQL and REST?
      gRPC
      gRPC is a modern open source high performance RPC framework that can run in any environment. It can efficiently connect services in and across data centers with pluggable support for load balancing, tracing, health checking...
      Falcor
      Falcor lets you represent all your remote data sources as a single domain model via a virtual JSON graph. You code the same way no matter where the data is, whether in memory on the client or over the network on the server.
      React
      Lots of people use React as the V in MVC. Since React makes no assumptions about the rest of your technology stack, it's easy to try it out on a small feature in an existing project.
      graphql.js
      Lightest GraphQL client with intelligent features. You can download graphql.js directly, or you can use Bower or NPM.
      MongoDB
      MongoDB stores data in JSON-like documents that can vary in structure, offering a dynamic, flexible schema. MongoDB was also designed for high availability and scalability, with built-in replication and auto-sharding.
      See all alternatives