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

FeathersJS

163
341
+ 1
70
GraphQL

33.1K
27.2K
+ 1
310
Add tool

FeathersJS vs GraphQL: What are the differences?

# Introduction

Key differences between FeathersJS and GraphQL:

1. **Query Language and Execution**: FeathersJS uses its own query language while GraphQL comes with its query language which allows clients to request only the data they need, reducing over-fetching of data.

2. **Real-time and Subscriptions**: FeathersJS natively supports real-time functionality through WebSocket, while GraphQL requires additional protocols like GraphQL subscriptions for real-time updates.

3. **Backend Development Workflow**: FeathersJS provides a structured backend development workflow with built-in services and hooks for common functionalities, whereas GraphQL is mainly concerned with fetching and manipulating data at the API level.

4. **Learning Curve and Adoption**: FeathersJS follows a more traditional RESTful approach to API development, making it easier for developers familiar with REST, while GraphQL requires understanding of its schema, types, and resolvers, leading to a steeper learning curve for beginners.

5. **Data Fetching Efficiency**: GraphQL enables clients to request exactly the needed data through its schema, reducing multiple API calls for related data, whereas FeathersJS may require multiple API calls to fetch related data in a traditional RESTful approach.

6. **Client-Side Flexibility**: GraphQL allows clients to define their data requirements in the query, giving them more flexibility and control over the responses they receive, compared to FeathersJS where the server defines the data structure.

In Summary, the key differences between FeathersJS and GraphQL lie in their query languages, real-time capabilities, development workflows, learning curves, data fetching efficiency, and client-side flexibility.
Get Advice from developers at your company using StackShare Enterprise. Sign up for StackShare Enterprise.
Learn More
Pros of FeathersJS
Pros of GraphQL
  • 12
    Real-time
  • 7
    Choose any ORM
  • 7
    Datastore Agnostic
  • 6
    Flexible Plugins
  • 5
    Choose Socketio or Primus
  • 4
    Easy Rest
  • 4
    Isomorphic Services API
  • 4
    Open source
  • 3
    Scalable
  • 3
    Easy to use with Graphql
  • 3
    Documentation
  • 3
    Service-oriented architecture
  • 3
    Data-driven APIs
  • 3
    Uses express, will support other options soon
  • 3
    Advanced Composable Service Middleware called holds
  • 75
    Schemas defined by the requests made by the user
  • 63
    Will replace RESTful interfaces
  • 62
    The future of API's
  • 49
    The future of databases
  • 13
    Self-documenting
  • 12
    Get many resources in a single request
  • 6
    Query Language
  • 6
    Ask for what you need, get exactly that
  • 3
    Fetch different resources in one request
  • 3
    Type system
  • 3
    Evolve your API without versions
  • 2
    Ease of client creation
  • 2
    GraphiQL
  • 2
    Easy setup
  • 1
    "Open" document
  • 1
    Fast prototyping
  • 1
    Supports subscription
  • 1
    Standard
  • 1
    Good for apps that query at build time. (SSR/Gatsby)
  • 1
    1. Describe your data
  • 1
    Better versioning
  • 1
    Backed by Facebook
  • 1
    Easy to learn

Sign up to add or upvote prosMake informed product decisions

Cons of FeathersJS
Cons of GraphQL
    Be the first to leave a con
    • 4
      Hard to migrate from GraphQL to another technology
    • 4
      More code to type.
    • 2
      Takes longer to build compared to schemaless.
    • 1
      No support for caching
    • 1
      All the pros sound like NFT pitches
    • 1
      No support for streaming
    • 1
      Works just like any other API at runtime
    • 1
      N+1 fetch problem
    • 1
      No built in security

    Sign up to add or upvote consMake informed product decisions

    - No public GitHub repository available -

    What is FeathersJS?

    Feathers is a real-time, micro-service web framework for NodeJS that gives you control over your data via RESTful resources, sockets and flexible plug-ins.

    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.

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

    What companies use FeathersJS?
    What companies use GraphQL?
    See which teams inside your own company are using FeathersJS or GraphQL.
    Sign up for StackShare EnterpriseLearn More

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

    What tools integrate with FeathersJS?
    What tools integrate with GraphQL?

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

    Blog Posts

    GitHubDockerReact+17
    40
    36257
    GitHubPythonNode.js+47
    54
    72306
    What are some alternatives to FeathersJS and GraphQL?
    Sails.js
    Sails is designed to mimic the MVC pattern of frameworks like Ruby on Rails, but with support for the requirements of modern apps: data-driven APIs with scalable, service-oriented architecture.
    Meteor
    A Meteor application is a mix of JavaScript that runs inside a client web browser, JavaScript that runs on the Meteor server inside a Node.js container, and all the supporting HTML fragments, CSS rules, and static assets.
    LoopBack
    A highly-extensible, open-source Node.js framework that enables you to create dynamic end-to-end REST APIs with little or no coding. Connect to multiple data sources, write business logic in Node.js, glue on top of your existing services and data, connect using JS, iOS & Android SDKs.
    AdonisJS
    It is a Node.js Framework which is highly focused on developer ergonomics, stability and confidence.
    NestJS
    Nest is a framework for building efficient, scalable Node.js server-side applications. It uses progressive JavaScript, is built with TypeScript (preserves compatibility with pure JavaScript) and combines elements of OOP (Object Oriented Programming), FP (Functional Programming), and FRP (Functional Reactive Programming). Under the hood, Nest makes use of Express, but also, provides compatibility with a wide range of other libraries, like e.g. Fastify, allowing for easy use of the myriad third-party plugins which are available.
    See all alternatives