react-relay VS apollo-client

Compare react-relay vs apollo-client and see what are their differences.

react-relay

Relay is a JavaScript framework for building data-driven React applications. (by facebook)

apollo-client

:rocket:  A fully-featured, production ready caching GraphQL client for every UI framework and GraphQL server. (by apollographql)
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
react-relay apollo-client
50 30
18,195 19,222
0.2% 0.2%
9.8 9.8
6 days ago about 17 hours ago
Rust TypeScript
MIT License MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

react-relay

Posts with mentions or reviews of react-relay. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-08-30.
  • How To Handle Data With GraphQL Relay Client Schema Extensions
    1 project | dev.to | 16 Jan 2024
    GraphQL Relay is one of the most powerful GraphQL clients that you can found on the web environment. It provides to you a lot of features that lets your development flow in a scalable way.
  • GraphQL clients that automatically combine queries/fragments
    1 project | /r/graphql | 7 Dec 2023
    GQty (https://gqty.dev/) and Relay (https://relay.dev/) will combine fragments or queries you request in your React components and will handle combining these / getting the data each component needs with as few queries as is possible. Are there any other clients I’ve missed? It’s not immediately clear to me whether this is possible with Urql via Exchanges (https://formidable.com/open-source/urql/docs/advanced/authoring-exchanges/).
  • Server-side Rendering (SSR) From Scratch with React
    5 projects | dev.to | 30 Aug 2023
    Inside Woovi, our entire codebase is managed by GraphQL using the Relay client framework. To ensure the best UX possible for our final user, we give some useful features in our payment link, like the real-time update after paying a charge. It's all handled by our GraphQL, which won't be solvable by templates in our use case.
  • Seeking advice: Should I continue my Web Developer job or pursue my passion for compilers?
    2 projects | /r/ExperiencedDevs | 17 Apr 2023
    Since you mentioned Node CRUD APIs, I'd probably suggest looking at Relay/GraphQL. Would give you exposure to some interesting and employable skills that wouldn't require you learning an entirely new domain on top of it. They are rewriting the current compiler in Rust, which since you mentioned Rust might be interesting to follow. Uneducated takes, but GraphQL is a schema IDL, so would probably be a good place to start to minimize lexical complexity while still having some cool abstract concepts to learn (interfaces, unions, etc).
  • Compressing GraphQL Global Node ID
    2 projects | dev.to | 10 Apr 2023
    You may be familiar with Global Object Identification(GOI), especially if you've used Relay.
  • Top React Data Fetching Libraries
    7 projects | dev.to | 31 Mar 2023
    Relay (17k ⭐) -> The production-ready GraphQL client for React, developed by Facebook, was designed to be performant from the ground up, built upon locally declaring data dependencies for components.
  • Twitter open sources Navi: High-Performance Machine Learning Serving Server in Rust
    5 projects | /r/rust | 31 Mar 2023
    I think open sourcing for free labor is a common misconception. Most corporate led open source projects (eg, https://github.com/bottlerocket-os/bottlerocket from AWS or https://github.com/facebook/relay from Facebook) still require a team of employees.
  • How Woovi uses Relay?
    3 projects | dev.to | 13 Mar 2023
    If you look at relay.dev, Relay is the GraphQL client that scales with you. This definition is simple and defines Relay pretty well for the ones that already know all the features that Relay brings to the table.
  • Relay – The GraphQL client that scales with you
    1 project | news.ycombinator.com | 2 Feb 2023
  • Is it possible to create a symbolic link to a folder to solve case sensitivity?
    5 projects | /r/linuxquestions | 1 Dec 2022
    https://github.com/psf/black/issues/338 https://github.com/VeriorPies/ParrelSync/issues/61 https://github.com/prusa3d/PrusaSlicer/issues/5751 https://github.com/iterative/dvc/issues/2530 https://github.com/facebook/relay/issues/3647 And I know godmode9 at one point absolutely freaked when navigating into a symlink. It kinda depends on the app and what it's trying to load

apollo-client

Posts with mentions or reviews of apollo-client. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-09-01.
  • Things I wish I knew before moving 50K lines of code to React Server Components
    7 projects | news.ycombinator.com | 1 Sep 2023
    Actually, it's worse than that. Next has started throwing errors if it statically detects you even _importing_ hooks inside of a React Server Component environment:

    - https://github.com/apollographql/apollo-client/issues/10974

    - https://github.com/apollographql/apollo-client/issues/11167

    To the point that Lenz Weber( a maintainer of Apollo Client, and my co-maintainer on Redux Toolkit), is considering resorting to a package that wraps and re-exports all of React's public API just to avoid that static analysis:

    - https://github.com/apollographql/apollo-client/pull/11175

  • Top React Data Fetching Libraries
    7 projects | dev.to | 31 Mar 2023
    Apollo Client (18k ⭐) -> A comprehensive state management library for JavaScript that enables you to manage both local and remote data with GraphQL. Use it to fetch, cache, and modify application data, all while automatically updating your UI.
  • Using apollo client cache for local state
    2 projects | dev.to | 17 Dec 2022
    This currently doesn't work as expected so I have logged this issue in apollo client repo.
  • React Server Components
    1 project | /r/reactjs | 26 Nov 2022
  • Sveltekit SPA Mode: Prevent serverside code
    5 projects | /r/sveltejs | 14 Nov 2022
    I understand this has something to do with the fact, that SvelteKit expects the client and server code to be completely identical - this has already prompted changes to rxjs and apollo is still pending to be fixed. I understand the reason behind being able to run rxjs and apollo on the server but
  • Handling Apollo Errors in React
    3 projects | dev.to | 13 Nov 2022
    There is a long-standing issue with error caching (its absence, that is), which leads to errors being rendered as a loading state on the server side. Therefore, if you're doing SSR, you might want to design your schema in such a way that there are no intentional errors in queries whatsoever. To do so, we can use null values instead of NOT_FOUND errors (see how we essentially treated errors as data here?). Note how nothing stops us from setting the response code to 404 in case of a null value, should we want so.
  • Next.js 13: Layouts, React Server Components (async/await), Streaming
    4 projects | /r/nextjs | 25 Oct 2022
    Lol apollo client too.. saw this issue opened like, immediately after the release https://github.com/apollographql/apollo-client/issues/10231
  • Paginating an already fetched set of data - Apollo Client/Server
    1 project | /r/graphql | 28 Sep 2022
    There were some caching issues, outlined here https://github.com/apollographql/apollo-client/issues/6916 to be aware of
  • The Case for C# and .NET
    18 projects | news.ycombinator.com | 24 Jul 2022
    If you look at how major backend projects structure their code, it's almost always object-oriented TypeScript.

    I submit for the record:

    - Apollo Client: https://github.com/apollographql/apollo-client/blob/main/src...

    - Storybook: https://github.com/storybookjs/storybook/blob/next/lib/chann...

    - Nest: https://github.com/nestjs/nest/blob/master/packages/core/nes...

    - MongoDB Driver: https://github.com/mongodb/node-mongodb-native/blob/main/src...

    - Prisma: https://github.com/prisma/prisma/blob/main/packages/engine-c...

  • A high-level overview of Concurrent React
    1 project | dev.to | 23 Jul 2022
    [※Alert: The following is a code example using the Apollo Client notation, but the Apollo Client does not support Suspense at this time. Github issue about Suspense support: https://github.com/apollographql/apollo-client/issues/9627]

What are some alternatives?

When comparing react-relay and apollo-client you can also consider the following projects:

react-query - 🤖 Powerful asynchronous state management, server-state utilities and data fetching for TS/JS, React, Solid, Svelte and Vue. [Moved to: https://github.com/TanStack/query]

urql - The highly customizable and versatile GraphQL client with which you add on features like normalized caching as you grow.

SWR - React Hooks for Data Fetching

TanStack Query - 🤖 Powerful asynchronous state management, server-state utilities and data fetching for the web. TS/JS, React Query, Solid Query, Svelte Query and Vue Query.

axios - Promise based HTTP client for the browser and node.js

sveltekit-graphql-github - Use Apollo Client with SvelteKit to Query a GraphQL API: we use the GitHub API to query our repos and learn a bit of SvelteKit along the way.

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.

graphql-request - Minimal GraphQL client

react-apollo