GraphQL vs Rails API

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

GraphQL

20.7K
16.7K
+ 1
292
Rails API

85
120
+ 1
16
Add tool

GraphQL vs Rails API: What are the differences?

What is 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.

What is Rails API? Rails for API only applications. Rails::API is a subset of a normal Rails application, created for applications that don't require all functionality that a complete Rails application provides. It is a bit more lightweight, and consequently a bit faster than a normal Rails application. The main example for its usage is in API applications only, where you usually don't need the entire Rails middleware stack nor template generation.

GraphQL can be classified as a tool in the "Query Languages" category, while Rails API is grouped under "Microframeworks (Backend)".

"Schemas defined by the requests made by the user" is the primary reason why developers consider GraphQL over the competitors, whereas "Great for quick decoupled apps" was stated as the key factor in picking Rails API.

GraphQL and Rails API are both open source tools. GraphQL with 11.7K GitHub stars and 753 forks on GitHub appears to be more popular than Rails API with 5.26K GitHub stars and 293 GitHub forks.

Get Advice from developers at your company using Private StackShare. Sign up for Private StackShare.
Learn More
Pros of GraphQL
Pros of Rails API
  • 69
    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
    Evolve your API without versions
  • 3
    Fetch different resources in one request
  • 3
    Type system
  • 2
    GraphiQL
  • 2
    Ease of client creation
  • 2
    Easy setup
  • 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
  • 5
    Great for quick decoupled apps
  • 5
    Lightweight
  • 3
    Simply the best
  • 2
    Soon to be merged into core Rails 5
  • 1
    Logging by default

Sign up to add or upvote prosMake informed product decisions

Cons of GraphQL
Cons of Rails API
  • 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 Rails API?

    Rails::API is a subset of a normal Rails application, created for applications that don't require all functionality that a complete Rails application provides. It is a bit more lightweight, and consequently a bit faster than a normal Rails application. The main example for its usage is in API applications only, where you usually don't need the entire Rails middleware stack nor template generation.

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

    What companies use GraphQL?
    What companies use Rails API?
    See which teams inside your own company are using GraphQL or Rails API.
    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 Rails API?

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

    Blog Posts

    What are some alternatives to GraphQL and Rails API?
    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