Skip to content

Web Push Technologies

November 16, 2023
March 4, 2019

Push technology - Wikiwand
php - What are Long-Polling, Websockets, Server-Sent Events (SSE) and Comet? - Stack Overflow

Webhooks vs Websockets vs HTTP Streaming - Which Event-Driven API to use? - YouTube

rpc#gRPC


Web Socket

A persistent connection between the client and the server and both parties can start sending data at any time.

feathersjs
go-lang#Iris

websocket.org - Powered by Kaazing
HTML5 WebSocket - A Quantum Leap in Scalability for the Web
About HTML5 WebSocket - Powered by Kaazing
HTML5 WebSocket - A Quantum Leap in Scalability for the Web

WebSockets - YouTube Hussein Nasser

WebSockets - A Conceptual Deep Dive | Ably Realtime

RFC 6455 - The WebSocket Protocol
WebSockets - A Conceptual Deep-Dive | Ably Realtime
WebSockets - Web APIs | MDN
Can I use... Support tables for HTML5, CSS3, etc

facundofarias/awesome-websockets: A curated list of Websocket libraries and resources.
Introduction to WebSockets
Introducing WebSockets: Bringing Sockets to the Web - HTML5 Rocks
An Introduction to WebSockets - Treehouse Blog
Developing Real-Time Web Applications with Server-Sent EventsButton - CloseLearn More
WebSockets for fun and profit - Stack Overflow Blog

Using WebSockets in React - DEV Community 👩‍💻👨‍💻

NodeUp: fortytwo - a scaling websockets show

Kalm

Kalm - The socket manager
kalm/kalm.js: The socket manager

Socio

Rolands-Laucis/Socio: A WebSocket Real-Time Communication (RTC) API framework

Server

Bun and Node.js has built-in support

8 Node.js Web Socket Libraries For 2018 – Bits and Pieces

websockets/ws: Simple to use, blazing fast and thoroughly tested WebSocket client and server for Node.js
WebSockets tutorial: How to go real-time with Node and React - LogRocket Blog

uNetworking/uWebSockets: Simple, secure & standards compliant web server for the most demanding of applications C/C++, different bindings ❗!important
uNetworking/uWebSockets.js: TypeScript web server - 15x faster than Deno
The story of “uws” so far. µWebSockets (“uws”) is an open source… | by uNetworking AB | Medium

soketi/soketi: Just another simple, fast, and resilient open-source WebSockets server. 📣
primus/primus: Primus, the creator god of the transformers & an abstraction layer for real-time to prevent module lock-in.
hugmanrique/turbo-ws: Blazing fast low-level WebSocket server
faye/faye-websocket-node: Standards-compliant WebSocket client and server

kataras/neffos: A modern, fast and scalable websocket framework with elegant API written in Go

Implementing a WebSocket Server with Node.js – Hacker Noon from scratch
Node.js & WebSocket — Simple chat tutorial – Martin Sikora – Medium
Building a chat application with Spring Boot and WebSocket | CalliCoder

HTTP server integration

const server = new Hapi.Server();
const app = require("http").createServer(handler);
// `server.listener` is equivalent to `app`

WAMP

Web Application Messaging Protocol - Wikiwand MessagePack/JSON over WebSocket
The Web Application Messaging Protocol — Web Application Messaging Protocol version 2 documentation

Introduction to WAMP, a protocol enabling PUB/SUB and RPC over Websoc…

Crossbar.io Server
Crossbar.io - autobahn Client

Socket.io

avoid, old code, inefficient and memory leak

Socket.IO
WebSocket and Socket.IO
Beyond REST: Using WebSockets for two-way communication in your React app
Using hapi.js with Socket.io
WebSocket + Node.js + Express — Step by step using Typescript

Node.js: Better Performance With Socket.IO and doT
Understanding Socket.IO - NodeSource
StrongLoop - Real-time Engines in Node.js
Adding Socket.io to multi-threaded Node.js
Understanding the basics of Socket.io - DEV Community 👩‍💻👨‍💻

WebSockets in 100 Seconds & Beyond with Socket.io - YouTube
Realtime Chat With Users & Rooms - Socket.io, Node & Express - YouTube

On the contrary

Why you don’t need Socket.IO – codeburst 2016
node.js - Differences between socket.io and websockets - Stack Overflow

Sock.js

avoid, fallback no longer needed

sockjs/sockjs-client: WebSocket emulation - Javascript client
sockjs/sockjs-node: WebSocket emulation - Node.js server
substack/shoe: streaming sockjs for node and the browser

WebSockets in React, the component way! – Practo Engineering – Medium

Authentication

javascript - Web Socket connection with Basic Access Authentication - Stack Overflow
Securing WebSocket using wss and HTTPS/TLS (Tech Tip #50)
Securing WebSockets using Username/Password and Servlet Security (Tech Tip #49)

Scaling

SocketCluster scalable server implementation
observing/balancerbattle: WebSocket loadbalancer battle

ClusterWS
ClusterWS/ClusterWS: Lightweight, fast and powerful framework for building scalable WebSocket applications in Node.js.

Scaling WebSockets – Hacker Noon
Scaling Node.js Socket Server with Nginx and Redis | Jscrambler Blog
Horizontally Scaling Node.js and WebSockets with Redis - GoldFire Studios
Load Balancing Websocket Connections

Websockets and scalability - Stack Overflow
node.js - Load balancing sockets on a horizontally scaling WebSocket server? - Stack Overflow

Session Persistence

Enforcing a single web socket connection per user with Node.js, Socket.IO, and Redis
Distributed locks with Redis – Redis


Pre-Web Socket

Polling

Poll at fixed interval
Excessive updates
High latency

Long Polling

Server awaits event before sending respond
More responsive but worst than polling on high volume events
Turns into an unthrottled, continuous loop of immediate polls.

What is HTTP Long Polling? | PubNub
Long Polling - Concepts and Considerations | Ably Realtime
WebSockets vs Long Polling | Ably Blog: Data in Motion

Long Polling and how it differs from Push, Poll and SSE - The Backend Engineering Show - YouTube

rousan/comet: A http long polling comet implementation for nodejs and browser

Streaming

Server not completing response
Intermediatries may buffer response leading to high latency


Server-sent Events (SSE)

Server-sent events - Web APIs | MDN
Can I use... Support tables for HTML5, CSS3, etc
Server-sent events - Wikiwand

Server-Sent Events Crash Course - YouTube

Stream Updates with Server-Sent Events - HTML5 Rocks
A Look at Server-Sent Events – Conectric Networks – Medium
Using SSE Instead Of WebSockets For Unidirectional Data Flow Over HTTP/2 — Smashing Magazine
Using Server-Sent Events in Node.js to Build a Realtime App ← Alligator.io
Realtime newsfeed using server-sent events(SSE) with react.js, Node.js & Mongodb - YouTube
Using Fetch Event Source for server-sent events in React - LogRocket Blog
Fastify Server-Sent Events(SSE). Hi friends, In this blog, I will… | by Edison Devadoss | Medium

Server-sent events vs. WebSockets - LogRocket Blog
Server-Sent Events explained with usecases
Push: SSE vs Websockets - Streamdata.io
Polling vs SSE vs WebSocket— How to choose the right one


Push API

Push API - Web APIs | MDN
How Push Works | Web Fundamentals | Google Developers

🚀🔔 Beginners guide to Web Push Notifications using Service Workers | Blog

ntfy.sh

ntfy.sh | Send push notifications to your phone via PUT/POST
binwiederhier/ntfy: Send push notifications to your phone or desktop using PUT/POST

Open Source Push Notifications! Get notified of any event you can imagine. Triggers abound! - YouTube

Notifire

Notifire - Notification management simplified.
notifirehq/notifire: 🚀 Open-source notification infrastructure for products

Building the first open-source notification infrastructure - DEV Community

Webhooks

Should You Build a Webhooks API? — Brandur Leach
WebHooks vs WebSub: Which Is Better For Real-Time Event Streaming? | Nordic APIs |

webhookthing

CloudEvents


WebSub

WebSub - Wikiwand formerly PubSubHubbub
PubSubHubbub


WebTransport

WebTransport
w3c/webtransport: WebTransport is a web API for flexible data transport

Experimenting with WebTransport
Experimenting with QUIC and WebTransport in Go - Centrifugo

What is WebTransport and can it replace WebSockets? | Ably Blog: Data in Motion
WebTransport is a Game Changer Protocol - YouTube