ws
graphql-subscriptions
Our great sponsors
ws | graphql-subscriptions | |
---|---|---|
27 | 7 | |
21,036 | 1,578 | |
1.1% | 0.1% | |
7.7 | 4.6 | |
6 days ago | 3 months ago | |
JavaScript | TypeScript | |
MIT License | MIT License |
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.
ws
-
Setting up a WebSocket server in Node.js
Before setting up a WebSocket server in Node.js, we need to install the necessary dependencies. Fortunately, Node.js has a vibrant ecosystem with various WebSocket libraries available. In this article, we will focus on using the popular ws library, which provides a simple and efficient WebSocket implementation for Node.js.
-
8 Best WebSocket Libraries For Node
WS has a user base of 17.7 million people and over 20,000 forks. It also has clear and concise documentation, with examples and API references, to help developers understand how to integrate it into their projects.
-
WebSockets 101
In order to implement websockets, you can use a nodejs library named ws. It provides a fast and simple way to establish a websocket connection.
-
Is there anyway to auto reload the browser page when using express?
Next, you can use a library like chokidar to listen for changes in your source directory. Create a ws server, and whenever a file changes, send a message.
-
Is my health check endpoint good enough?
I use redis, sequelize and PG Listen/Notify via Robust Listeners with a websocket server coded in ws
-
7 Useful JavaScript Libraries To Build a Real-Time Web App
With over 19k stars on GitHub and about 60 million weekly downloads on npm, ws is one of the most popular open-source libraries for real-time web application development
-
Nest JS Websockets - Basics
Nest supports 2 websocket platforms - socket.io and ws. We're going to be using socket.io.
-
Render.com and Websocket: Connection randomly being closed after 5-ish minutes?
I'm trying out Render.com as a potential replacement for Heroku to host and run my code, which uses Node, Express, and the ws package to connect a game made on Godot Engine and the webapp, using a Websocket connection. However, when I migrated the code over, I've noticed that the game lasts barely a quarter of the way before the server aborts the Websocket connection for literally no reason. I'm serious, it's what the log says:
-
Quick introduction to WebSockets with Node.js
If you want to learn more about WebSockets, check out the official documentation.
-
5 enhancements that will boost your Node.js app
Making use of Web Sockets to improve server communication.
graphql-subscriptions
-
three ways to deploy a serverless graphQL API
graphql-yoga is built on other packages that provide functionality required for building a GraphQL server such as web server frameworks like express and apollo-server, GraphQL subscriptions with graphql-subscriptions and subscriptions-transport-ws, GraphQL engine & schema helpers including graphql.js and graphql-tools, and an interactive GraphQL IDE with graphql-playground.
-
Subscriptions and Live Queries - Real Time with GraphQL
The most common used (but not best maintained) library for such a PubSub engine in the GraphQL context is graphql-subscriptions. There are also adapters available for more distributed systems (where all GraphQL API replicas must be notified about the event) e.g. over Redis.
-
GraphQL over WebSockets
During that work, we created and merged the reference implementation into graphql-js and created two supporting libraries: graphql-subscriptions and subscriptions-transport-ws. Here is a talk with deep dive into all the details.
-
Using useSWR as an alternative to Subscriptions?
The Prisma / GraphQL-Yoga comes with Subscriptions, and this was the first thing I came across when my client asked for realtime updates. The implementation was quite difficult - took me a long time. Eventually, it was working locally, and in staging. However, when it came to the production environment, for some reason it just didn't work! This unfortunately ended up with a user losing an auction, which ultimately went to court etc.
-
GraphQL subscriptions not working consistently
There are also other solutions available: https://github.com/apollographql/graphql-subscriptions#pubsub-implementations
-
Build a chat app with GraphQL Subscriptions & TypeScript: Part 2
First, let's try to understand what PubSub is exactly. Apollo Server uses a publish-subscribe (pub/sub) model to track events that update subscriptions. The graphql-subscriptions library included in all apollo-server packages (including middleware integrations) provides a PubSub class as a basic in-memory event bus.
-
GraphQL the Simple Way, or: Don't Use Apollo
To add this, I can just expand the basic setup above. To do so, I do actually use a couple of small Apollo modules! Most can be picked and configured independently. For this case, graphql-subscriptions provides a little bit of pubsub logic that works within resolvers, and subscriptions-transport-ws integrates that into Express to handle the websockets themselves. Super helpful
What are some alternatives?
fastify-websocket - basic websocket support for fastify
uWebSockets.js - μWebSockets for Node.js back-ends :metal:
amplify-flutter - A declarative library with an easy-to-use interface for building Flutter applications on AWS.
Socket.io - Realtime application framework (Node.JS server)
graphql-redis-subscriptions - A graphql subscriptions implementation using redis and apollo's graphql-subscriptions
redux-toolkit - The official, opinionated, batteries-included toolset for efficient Redux development
graphql-ws - Coherent, zero-dependency, lazy, simple, GraphQL over WebSocket Protocol compliant server and client.
subscriptions-transport-ws - :arrows_clockwise: A WebSocket client + server for GraphQL subscriptions
Passport - Simple, unobtrusive authentication for Node.js.
graphql-yoga - 🧘 Rewrite of a fully-featured GraphQL Server with focus on easy setup, performance & great developer experience. The core of Yoga implements WHATWG Fetch API and can run/deploy on any JS environment.