StackShareStackShare
Follow on
StackShare

Discover and share technology stacks from companies around the world.

Follow on

© 2025 StackShare. All rights reserved.

Product

  • Stacks
  • Tools
  • Feed

Company

  • About
  • Contact

Legal

  • Privacy Policy
  • Terms of Service
  1. Stackups
  2. Application & Data
  3. Frameworks
  4. Javascript Mvc Frameworks
  5. Backbone.js vs GraphQL

Backbone.js vs GraphQL

OverviewDecisionsComparisonAlternatives

Overview

Backbone.js
Backbone.js
Stacks7.5K
Followers3.5K
Votes675
GitHub Stars28.1K
Forks5.3K
GraphQL
GraphQL
Stacks34.9K
Followers28.1K
Votes309

Backbone.js vs GraphQL: What are the differences?

Introduction: When comparing Backbone.js and GraphQL, it is essential to understand their key differences to choose the right technology for your web development project.

  1. Data Fetching: In Backbone.js, data fetching is managed by models using RESTful APIs, which can sometimes result in over-fetching or under-fetching of data. On the other hand, GraphQL allows clients to request only the specific data they need, eliminating over-fetching and under-fetching issues by giving clients control over the requested data.

  2. Real-Time Data Updates: Backbone.js relies on libraries like Socket.io or Polling to achieve real-time data updates, which can be cumbersome and inefficient. GraphQL, with its built-in subscriptions, allows clients to receive real-time data updates without the need for additional libraries or complex setup.

  3. Client-Side Flexibility: Backbone.js is focused on providing structure to client-side applications, while GraphQL is a query language for APIs that gives clients the flexibility to request the exact data they need. This flexibility enables clients to optimize performance and reduce unnecessary data transfer.

  4. Schema Definition: Backbone.js does not have a schema definition for data, which can lead to inconsistencies and difficulties in maintaining large applications. In contrast, GraphQL uses a strongly-typed schema to define the structure and types of data, making it easier to understand and maintain the API.

  5. Multiple Endpoints: Backbone.js typically requires multiple endpoints to fetch different types of data, leading to a more complex API structure. With GraphQL, there is a single endpoint that can be queried to retrieve any combination of data, simplifying the API and reducing the number of requests needed.

  6. Batching Requests: In Backbone.js, batching requests for multiple resources can be challenging and may require additional logic to optimize network requests. GraphQL supports batching requests out of the box, allowing clients to combine multiple queries into a single request, reducing network overhead and improving performance.

In Summary, Backbone.js and GraphQL differ in their approach to data fetching, real-time updates, client-side flexibility, schema definition, handling multiple endpoints, and batching requests.

Share your Stack

Help developers discover the tools you use. Get visibility for your team's tech choices and contribute to the community's knowledge.

View Docs
CLI (Node.js)
or
Manual

Advice on Backbone.js, GraphQL

Raj
Raj

Oct 10, 2020

Review

It purely depends on your app needs. Does it need to be scalable, do you have lots of features, OR it is a simple project with very simple needs - many of those parameters clarify which technologies will fit.

If you are looking for a quick solution, that reduces lot of development time, take a look at postgraphile (https://www.graphile.org/postgraphile/). You have to just define the schema and you get the entire graph-ql apis built for you and you can just focus on your frontend.

On frontend, React is good, but also need to remember that it is popular because it introduced one way data writes and in-built virtual dom + diffing to determine which dom to modify. Though personally I liked it, am recently more inclined to Svelte because its lightweightedness and absence of virtual dom and its simplicity compared to the huge ecosystem that React has surrounded itself with.

In all situations, frameworks keep changing over time. What is best today is not considered even good few years from now. What is important is to have the logic in a separate, clean manner void of too many framework related dependencies - that way you can switch one framework with another very easily.

3.77k views3.77k
Comments

Detailed Comparison

Backbone.js
Backbone.js
GraphQL
GraphQL

Backbone supplies structure to JavaScript-heavy applications by providing models key-value binding and custom events, collections with a rich API of enumerable functions, views with declarative event handling, and connects it all to your existing application over a RESTful JSON interface.

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.

-
Hierarchical;Product-centric;Client-specified queries;Backwards Compatible;Structured, Arbitrary Code;Application-Layer Protocol;Strongly-typed;Introspective
Statistics
GitHub Stars
28.1K
GitHub Stars
-
GitHub Forks
5.3K
GitHub Forks
-
Stacks
7.5K
Stacks
34.9K
Followers
3.5K
Followers
28.1K
Votes
675
Votes
309
Pros & Cons
Pros
  • 135
    Javascript structure
  • 101
    Models
  • 98
    Simple
  • 76
    Restful
  • 59
    Easy api
Cons
  • 1
    Requires underscore.js
Pros
  • 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
  • 12
    Get many resources in a single request
Cons
  • 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
    No built in security

What are some alternatives to Backbone.js, GraphQL?

AngularJS

AngularJS

AngularJS lets you write client-side web applications as if you had a smarter browser. It lets you use good old HTML (or HAML, Jade and friends!) as your template language and lets you extend HTML’s syntax to express your application’s components clearly and succinctly. It automatically synchronizes data from your UI (view) with your JavaScript objects (model) through 2-way data binding.

Vue.js

Vue.js

It is a library for building interactive web interfaces. It provides data-reactive components with a simple and flexible API.

Ember.js

Ember.js

A JavaScript framework that does all of the heavy lifting that you'd normally have to do by hand. There are tasks that are common to every web app; It does those things for you, so you can focus on building killer features and UI.

Angular

Angular

It is a TypeScript-based open-source web application framework. It is a development platform for building mobile and desktop web applications.

Aurelia

Aurelia

Aurelia is a next generation JavaScript client framework that leverages simple conventions to empower your creativity.

Mithril

Mithril

Mithril is around 12kb gzipped thanks to its small, focused, API. It provides a templating engine with a virtual DOM diff implementation for performant rendering, utilities for high-level modelling via functional composition, as well as support for routing and componentization.

Marionette

Marionette

It is a JavaScript library with a RESTful JSON interface and is based on the Model–view–presenter application design paradigm. Backbone is known for being lightweight, as its only hard dependency is on one JavaScript library, Underscore.js, plus jQuery for use of the full library.

Prisma

Prisma

Prisma is an open-source database toolkit. It replaces traditional ORMs and makes database access easy with an auto-generated query builder for TypeScript & Node.js.

PostGraphile

PostGraphile

Execute one command (or mount one Node.js middleware) and get an instant high-performance GraphQL API for your PostgreSQL database

OData

OData

It is an ISO/IEC approved, OASIS standard that defines a set of best practices for building and consuming RESTful APIs. It helps you focus on your business logic while building RESTful APIs without having to worry about the various approaches to define request and response headers, status codes, HTTP methods, URL conventions, media types, payload formats, query options, etc.

Related Comparisons

Bootstrap
Materialize

Bootstrap vs Materialize

Laravel
Django

Django vs Laravel vs Node.js

Bootstrap
Foundation

Bootstrap vs Foundation vs Material UI

Node.js
Spring Boot

Node.js vs Spring-Boot

Liquibase
Flyway

Flyway vs Liquibase