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

PubNub

235
458
+ 1
238
SignalR

488
1.2K
+ 1
146
Add tool

PubNub vs SignalR: What are the differences?

Introduction:

PubNub and SignalR are both real-time communication technologies used for building interactive and responsive web applications. While they share the same purpose, there are several key differences between the two.

  1. Scalability: PubNub is a global Data Stream Network (DSN) that provides a highly scalable infrastructure for real-time messaging. It offers a distributed publish/subscribe model that allows unlimited concurrent connections, making it ideal for applications that require massive scalability. On the other hand, SignalR is a real-time web framework for ASP.NET applications, which means it relies on the underlying scalability of the hosting platform. While SignalR can scale by adding more servers, it may not be as scalable as PubNub for extremely large-scale applications.

  2. Platform and Language Support: PubNub provides excellent support for a wide range of platforms and languages, including web, mobile, and IoT devices. It offers SDKs for popular languages such as JavaScript, Python, Java, iOS, and Android. SignalR, on the other hand, is primarily focused on the .NET ecosystem and is built specifically for ASP.NET applications. While there are community efforts to provide SignalR client libraries for other platforms, its support outside of the .NET ecosystem may not be as extensive as PubNub.

  3. Ease of Use and Integration: PubNub offers a developer-friendly API that is straightforward to use and integrate into any application. It provides robust client libraries and a RESTful HTTP API for publishing and subscribing to real-time messages. SignalR is tightly integrated with the ASP.NET framework, making it easy to use within ASP.NET applications. However, integrating SignalR into non-ASP.NET applications may require additional effort and dependencies.

  4. Real-Time Features: PubNub is designed specifically for real-time communication and provides a rich set of features out of the box, such as presence detection, chat history, and channel multiplexing. It also offers additional capabilities like IoT device communication, geolocation-based messaging, and streaming data analytics. SignalR, while capable of real-time communication, doesn't come with built-in features like presence detection or chat history. These features need to be implemented manually or through additional libraries.

  5. Flexibility and Customization: PubNub provides a high degree of flexibility and customization options. It allows developers to define their own message formats, implement custom security rules, and build complex message routing logic. SignalR, being a framework, provides a certain level of customization but may have limitations compared to PubNub in terms of message format and routing flexibility.

  6. Reliability and Fault Tolerance: PubNub has a global infrastructure with multiple data centers, ensuring high availability and fault tolerance. It automatically handles network issues, message retries, and fallback options when connectivity is temporarily lost. SignalR relies on the hosting server's reliability and network infrastructure, which may vary depending on the deployment environment. While SignalR can be made reliable and fault-tolerant by employing strategies such as server clustering, it requires additional configuration and infrastructure setup.

In summary, PubNub offers unparalleled scalability, broad platform/language support, and a rich set of features out of the box. It is a global Data Stream Network designed for real-time communication. SignalR, on the other hand, is a real-time web framework primarily focused on the .NET ecosystem, offering good integration with ASP.NET applications but may have limitations in terms of scalability and platform/language support.

Advice on PubNub and SignalR
Needs advice
on
AblyAblyPubNubPubNub
and
PusherPusher

I am building an IoT application that will utilize connected air quality sensors to provide real-time indoor air quality in offices. I want to be able to share this data with a few different databases, etc.

Wondering if anyone has any advice on which real-time streaming API would be best for this sort of application, or even how I should think about it?

See more
Replies (2)
Ben Gamble
Recommends
on
AblyAbly

For IoT, we support MQTT along with websockets and SSE. The pattern you're suggesting that involves harvesting data from devices and soaking into a database is easy to achieve with one of the Ably integrations (Serverless functions/webhook) . Here are some tutorials to do things like this: https://ably.com/tutorials/reactor-event-zapier#step2-mqtt-ably

See more
Philip Rossen
Recommends
on
PusherPusher
at

We use Pusher at www.justlearn.com. It works fine. When you reach more users, Pusher gets expensive. We use Pusher for live chat between users. Their software is easy to use. We have had issues with auth on Pusher.

See more
Get Advice from developers at your company using StackShare Enterprise. Sign up for StackShare Enterprise.
Learn More
Pros of PubNub
Pros of SignalR
  • 36
    Massively scalable & easy to use
  • 25
    Easy setup
  • 20
    Reliable
  • 19
    Great support
  • 14
    Flexible to integrate to custom applications
  • 13
    Sockets at Scale
  • 13
    99.999% availability guarantees
  • 13
    High-Performance
  • 12
    High-Reliability
  • 12
    Multiplexing
  • 7
    Scalability
  • 5
    High-Availability
  • 5
    70+ SDKs
  • 4
    Security
  • 4
    Azure Add-on
  • 3
    Heroku Add-on
  • 3
    Presence
  • 3
    Flexible
  • 3
    Easy to setup
  • 2
    Data Streams
  • 2
    Free Plan
  • 2
    Server-Side Cache
  • 2
    PhoneGap Plugin
  • 2
    AngularJS Adapter
  • 2
    Data Sync
  • 2
    Analytics
  • 2
    Support
  • 1
    Easy setup and very reliable
  • 1
    High cost, going up more in Summer '15
  • 1
    Cool
  • 1
    Angular 2+ integration
  • 1
    Documentation, easy to use, great people/service
  • 1
    CTO stephen also is A++++++
  • 1
    Real time and easy to use.
  • 1
    Easy integration with iOS apps
  • 32
    Supports .NET server
  • 25
    Real-time
  • 18
    Free
  • 16
    Fallback to SSE, forever frame, long polling
  • 15
    WebSockets
  • 10
    Simple
  • 9
    Open source
  • 8
    Ease of use
  • 8
    JSON
  • 5
    Cool
  • 0
    Azure

Sign up to add or upvote prosMake informed product decisions

Cons of PubNub
Cons of SignalR
  • 1
    Costly
  • 2
    Expertise hard to get
  • 2
    Requires jQuery
  • 1
    Weak iOS and Android support
  • 1
    Big differences between ASP.NET and Core versions

Sign up to add or upvote consMake informed product decisions

- No public GitHub repository available -

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

What is SignalR?

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.

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

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

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

What tools integrate with PubNub?
What tools integrate with SignalR?

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

Blog Posts

Vue.jsSpring BootUnity+7
2
1198
JavaScriptPythonPubNub+4
7
1501
What are some alternatives to PubNub and SignalR?
Pusher
Pusher is the category leader in delightful APIs for app developers building communication and collaboration features.
Socket.IO
It enables real-time bidirectional event-based communication. It works on every platform, browser or device, focusing equally on reliability and speed.
SendBird
SendBird is a Messaging SDK, Chat API, and fully managed chat infrastructure for your mobile apps and websites. Embeddable chat for iOS, Android, JavaScript, Unity, .NET.
Stream
Stream allows you to build scalable feeds, activity streams, and chat. Stream’s simple, yet powerful API’s and SDKs are used by some of the largest and most popular applications for feeds and chat. SDKs available for most popular languages.
Kafka
Kafka is a distributed, partitioned, replicated commit log service. It provides the functionality of a messaging system, but with a unique design.
See all alternatives