Socket.IO is a tool that lets programs send messages back and forth instantly between a server and browsers or apps. It is for programmers building live features such as chat, notifications, or shared updates.
How many people bookmarked its code on GitHub. It shows how popular it is, not how good it is or how well it replaces the app.
How hard it is to start using it. Easy: install it like a normal app, or use it in your browser. Advanced: you run it on your own server, use the command line, or it is a tool for developers.
Its code changed within the last year, so someone is still looking after it.
Does the whole job.
Ordered by how fully it replaces the app, Verified, setup and, when there are enough, people's votes.
Centrifugo is a free server that lets apps send live updates, such as chat messages or data changes, to users' screens as they happen. It is for developers building real-time features into their apps, and it works with many programming languages.
Has 2 of 6 · Merges edits from many people ✗
How many people bookmarked its code on GitHub. It shows how popular it is, not how good it is or how well it replaces the app.
How hard it is to start using it. Easy: install it like a normal app, or use it in your browser. Advanced: you run it on your own server, use the command line, or it is a tool for developers.
Its code changed within the last year, so someone is still looking after it.
Does the whole job.
Ordered by how fully it replaces the app, Verified, setup and, when there are enough, people's votes.
Soketi is a server that lets websites and apps send live updates to users in their browser, such as chat messages or changing data, without constant page reloads. It is aimed at developers who build real-time features and want a self-run alternative to paid services like Pusher.
Has 1 of 6
How many people bookmarked its code on GitHub. It shows how popular it is, not how good it is or how well it replaces the app.
How hard it is to start using it. Easy: install it like a normal app, or use it in your browser. Advanced: you run it on your own server, use the command line, or it is a tool for developers.
Nobody has changed its code in over a year. It may still work well, but help is less likely.
Does the whole job.
Ordered by how fully it replaces the app, Verified, setup and, when there are enough, people's votes.
Yjs is a software library that lets many people edit the same document or data at once, and their changes merge automatically. It is made for programmers who build collaborative apps such as shared note editors and whiteboards.
Has 2 of 6
How many people bookmarked its code on GitHub. It shows how popular it is, not how good it is or how well it replaces the app.
How hard it is to start using it. Easy: install it like a normal app, or use it in your browser. Advanced: you run it on your own server, use the command line, or it is a tool for developers.
Its code changed within the last year, so someone is still looking after it.
Does part of the job.
Ordered by how fully it replaces the app, Verified, setup and, when there are enough, people's votes.
None of these match. Try another device.
Help me choose
I want to pick an open-source replacement for Pusher. Below is a list from Open Source Everything (CC BY-SA 4.0), in the order its website shows it. The order is a starting point, not a verdict.
- Socket.IO: Socket.IO is a tool that lets programs send messages back and forth instantly between a server and browsers or apps. It is for programmers building live features such as chat, notifications, or shared updates. [Advanced setup; In your browser; replaces fully; MIT; https://github.com/socketio/socket.io]
- Centrifugo: Centrifugo is a free server that lets apps send live updates, such as chat messages or data changes, to users' screens as they happen. It is for developers building real-time features into their apps, and it works with many programming languages. [Advanced setup; Windows · Mac · Linux; replaces fully; Apache-2.0; https://github.com/centrifugal/centrifugo]
- Soketi: Soketi is a server that lets websites and apps send live updates to users in their browser, such as chat messages or changing data, without constant page reloads. It is aimed at developers who build real-time features and want a self-run alternative to paid services like Pusher. [Advanced setup; runs on a server you set up; replaces fully; AGPL-3.0; no changes in over a year; https://github.com/soketi/soketi]
- Yjs: Yjs is a software library that lets many people edit the same document or data at once, and their changes merge automatically. It is made for programmers who build collaborative apps such as shared note editors and whiteboards. [Advanced setup; runs on a server you set up; replaces partly; MIT; https://github.com/yjs/yjs]
Setup rating: "Easy setup" means you can install it like a normal app, use it in a browser. "Advanced setup" means you must run it on your own server or use the command line, or it is a tool for developers.
Full details: https://opensourceeverything.org/data/groups/realtime.json
Before recommending anything, ask me these three questions (one at a time, in plain words): 1) Which device or devices will I use it on (Windows, Mac, Linux, Android, iPhone)? 2) How comfortable am I with technical setup: only installing apps from a store, happy to follow a step-by-step guide, or comfortable with servers and the command line? 3) What is my budget: free only, or willing to pay for hosting or support? Then recommend one to three projects from this list only, and for each say why, using how fully it replaces the app, its setup rating, and the devices it runs on. If nothing on the list fits me, say so plainly instead of stretching.
Before you build
Read the list of open-source projects at https://opensourceeverything.org/data/groups/realtime.json. Compare it with my project or idea below. Tell me which projects overlap, what I could reuse instead of rewriting, and what mine does that none of them do.
My project or idea: