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. Platform as a Service
  4. Realtime Backend API
  5. Apollo vs SignalR

Apollo vs SignalR

OverviewDecisionsComparisonAlternatives

Overview

SignalR
SignalR
Stacks656
Followers1.2K
Votes146
GitHub Stars9.3K
Forks2.3K
Apollo
Apollo
Stacks2.7K
Followers1.8K
Votes25

Apollo vs SignalR: What are the differences?

Introduction

In this article, we will compare and highlight the key differences between Apollo and SignalR, two popular technologies used for real-time communication and data synchronization in web applications.

  1. Data synchronization approach: Apollo is a state management library that uses a client-side caching mechanism to maintain a consistent data state across the application. It provides fine-grained control over data fetching and caching, allowing developers to specify which data to fetch and how to handle it. On the other hand, SignalR is a real-time communication library that uses a hub-based model for server-to-client communication. It facilitates the bi-directional communication between the server and clients by establishing a persistent connection, allowing real-time updates to be pushed from the server to the clients.

  2. Backend technology: Apollo is language-agnostic and can be used with any backend technology, as long as the server implements the required GraphQL specification. It is commonly used with GraphQL servers, which provide a flexible way of defining APIs. In contrast, SignalR is mainly used with .NET technologies, specifically with ASP.NET and ASP.NET Core. It relies on the WebSocket protocol to establish communication between the server and clients.

  3. Client-side integration: Apollo requires a client-side library, such as Apollo Client or Apollo Angular, to integrate with the frontend application. These libraries provide features like automatic caching, local state management, and GraphQL query execution. SignalR, on the other hand, provides client libraries for various platforms, including JavaScript, .NET, Java, and Xamarin. These libraries handle the communication with the SignalR server and provide abstractions for working with the real-time updates.

  4. Scalability and performance: Apollo's decentralized architecture and client-side caching mechanism allow for improved scalability and performance. The client can cache the data and only request updates when necessary, reducing the overall load on the server. However, this also means that the client needs to handle data synchronization and caching logic. SignalR, on the other hand, relies on a centralized server for communication and data updates. It provides a simpler programming model but may introduce scaling challenges for high-traffic applications that require real-time updates.

  5. Supported platforms: Apollo is designed to work with a wide range of platforms, including web, mobile, and server-side applications. It has client libraries available for various frameworks and languages, making it highly versatile. SignalR, on the other hand, is primarily focused on .NET technologies and has better integration with Microsoft's ecosystem. While there are client libraries available for other platforms, the .NET integration is more seamless and comprehensive.

  6. Development community and ecosystem: Apollo has a thriving and active community that has contributed to an extensive ecosystem of tools, libraries, and integrations. It benefits from the popularity of GraphQL, which has gained significant traction in recent years. SignalR, being a Microsoft technology, also has a strong community and ecosystem, especially within the .NET development community. However, it may not be as vibrant or diverse as the Apollo ecosystem.

In summary, Apollo and SignalR differ in their approach to data synchronization, backend technology support, client-side integration, scalability, supported platforms, and development community. While Apollo offers a more decentralized and flexible architecture with language-agnostic support, SignalR provides a simpler, .NET-focused solution with better integration within the Microsoft ecosystem.

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 SignalR, Apollo

Márton
Márton

CTO at Media4Care

Aug 31, 2020

Decided

We wanted to save as much time as possible when writing our back-end, therefore Apollo was out of the question, we went for an auto-generated API instead. Hasura looked good in the beginning, but we wanted to retain the ability to add a few manual resolvers and modifications to auto-generated ones, which ruled out Hasura. Postgraphile with its Plug-In architecture was the right choice for us, we never regretted it!

37.1k views37.1k
Comments

Detailed Comparison

SignalR
SignalR
Apollo
Apollo

SignalR allows bi-directional communication between server and client. Servers can now push content to connected clients instantly as it becomes available. SignalR supports Web Sockets, and falls back to other compatible techniques for older browsers. SignalR includes APIs for connection management (for instance, connect and disconnect events), grouping connections, and authorization.

Build a universal GraphQL API on top of your existing REST APIs, so you can ship new application features fast without waiting on backend changes.

Statistics
GitHub Stars
9.3K
GitHub Stars
-
GitHub Forks
2.3K
GitHub Forks
-
Stacks
656
Stacks
2.7K
Followers
1.2K
Followers
1.8K
Votes
146
Votes
25
Pros & Cons
Pros
  • 32
    Supports .NET server
  • 25
    Real-time
  • 18
    Free
  • 16
    Fallback to SSE, forever frame, long polling
  • 15
    WebSockets
Cons
  • 2
    Requires jQuery
  • 2
    Expertise hard to get
  • 1
    Big differences between ASP.NET and Core versions
  • 1
    Weak iOS and Android support
Pros
  • 12
    From the creators of Meteor
  • 8
    Great documentation
  • 3
    Open source
  • 2
    Real time if use subscription
Cons
  • 1
    Increase in complexity of implementing (subscription)
  • 1
    File upload is not supported
Integrations
.NET
.NET
GraphQL
GraphQL

What are some alternatives to SignalR, Apollo?

Heroku

Heroku

Heroku is a cloud application platform – a new way of building and deploying web apps. Heroku lets app developers spend 100% of their time on their application code, not managing servers, deployment, ongoing operations, or scaling.

Firebase

Firebase

Firebase is a cloud service designed to power real-time, collaborative applications. Simply add the Firebase library to your application to gain access to a shared data structure; any changes you make to that data are automatically synchronized with the Firebase cloud and with other clients within milliseconds.

Clever Cloud

Clever Cloud

Clever Cloud is a polyglot cloud application platform. The service helps developers to build applications with many languages and services, with auto-scaling features and a true pay-as-you-go pricing model.

Socket.IO

Socket.IO

It enables real-time bidirectional event-based communication. It works on every platform, browser or device, focusing equally on reliability and speed.

Google App Engine

Google App Engine

Google has a reputation for highly reliable, high performance infrastructure. With App Engine you can take advantage of the 10 years of knowledge Google has in running massively scalable, performance driven systems. App Engine applications are easy to build, easy to maintain, and easy to scale as your traffic and data storage needs grow.

Red Hat OpenShift

Red Hat OpenShift

OpenShift is Red Hat's Cloud Computing Platform as a Service (PaaS) offering. OpenShift is an application platform in the cloud where application developers and teams can build, test, deploy, and run their applications.

AWS Elastic Beanstalk

AWS Elastic Beanstalk

Once you upload your application, Elastic Beanstalk automatically handles the deployment details of capacity provisioning, load balancing, auto-scaling, and application health monitoring.

PubNub

PubNub

PubNub makes it easy for you to add real-time capabilities to your apps, without worrying about the infrastructure. Build apps that allow your users to engage in real-time across mobile, browser, desktop and server.

Pusher

Pusher

Pusher is the category leader in delightful APIs for app developers building communication and collaboration features.

Render

Render

Render is a unified platform to build and run all your apps and websites with free SSL, a global CDN, private networks and auto deploys from Git.

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