graphql-live-query
subscriptions-transport-ws
graphql-live-query | subscriptions-transport-ws | |
---|---|---|
7 | 11 | |
434 | 1,515 | |
- | - | |
2.0 | 6.2 | |
7 days ago | about 2 years ago | |
TypeScript | 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.
graphql-live-query
-
GraphQL Live Queries with live directive
There are even more implementations of live queries available by now. e.g. https://github.com/samsarahq/thunder (go) or https://github.com/n1ru4l/graphql-live-query (JavaScript).
- Websocket with socket.io or GraphQL subscriptions
-
The fastest object diff library in JavaScript
Please compare with modern competitor: json-patch-plus https://github.com/n1ru4l/graphql-live-query/blob/main/packa...
-
The Stack #3
Also note that subscriptions are not the only way to do real time communications in GraphQL. There are also things like Live Queries with great libraries like this from Laurin which you can use
-
Need guidance on apollo subscription fallback
Last but not least, I also created a GraphQL over Socket.io (https://github.com/n1ru4l/graphql-live-query/tree/main/packages/socket-io-graphql-server) transport. I am using this in two smaller apps with a maximum of 10 concurrent users and did not encounter any issues with stale data yet. Maybe this might be somethign you are looking for.
-
How to maintain subsription websockets with authentication, while retaining the stateless nature that an API should have?
So after having tried to answer you questions (instead of just telling you to not use WebSockets, although that wasn't your question 🙃). I also wanted to point you to a "new" way of handling real-time data with GraphQL that I am experimenting one. https://github.com/n1ru4l/graphql-live-query
-
What is the performance loss with GraphQL mutations vs sending data over websockets in real-time apps?
There will always be an overhead for sending the mutations via a Post http request vs sending them over the already established WebSocket connection. graphql-ws is not only a subscription transport but can be used for any GraphQL operation including queries and mutations. In real-time applications I tend to use my own GraphQL over Socket.io transport (https://github.com/n1ru4l/graphql-live-query/tree/main/packages/socket-io-graphql-server)
subscriptions-transport-ws
-
Fixing a 3 second lockup in our app by switching from Apollo Client to URQL
Additionally, we created a bit more work for ourselves by upgrading the library we use for GraphQL subscriptions over web sockets, moving from the seemingly unmaintained subscriptions-transport-ws to the active graphql-ws project (which is URLQ’s library of choice for subscriptions).
- Is this a graphql thing or JSON thing?
-
GraphQL Subscriptions and Mikro-Orm in 2021
Okay but seriously, if you've fallen down the rabbit hole of Apollo docs pointing you towards one library (subscription-transport-ws) which then points you to another (graphql-ws) , and so on and so forth, then hopefully this helps pull you out.
-
Looking for GraphQL server with ws-transport ability
I'm looking for graphql server that can do queries and mutations over websocket, like subscriptions-transport-ws. Juniper and async-graphql both looks promising and async-graphql at least uses wording Subscriptions (WebSocket transport) in features but i couldn't find much more or any examples about that from the docs or repo.
-
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.
-
How does a client know if the server managing its subscription goes offline? (Multiple instances)
The javascript implementation is at subscriptions-transport-ws
-
GraphQL over WebSockets
Okay, so, how do I use WebSockets to add support for the GraphQL subscription operation? Doing a basic Google search, you’d be faced with a single solution, namely subscriptions-transport-ws. Looking through the repository, checking recent comments, reading through the issues and open PRs - might have you notice the abundance of bugs and their security implications. A summary can be found here.
-
The Stack #3
While subscription-transport-ws from Apollo initially started off this journey, it is not actively maintained and GraphQL WS by Denis definitely is a great replacement to that having no external dependencies and having the ability to work across many frameworks.
-
I need a little help implementing user online status tracking with Apollo/GraphQL.
apollo-server plans to remove WebSocket support, which is currenlty done over the deprecated graphql-ws protocol (as implemented by the unmaintained subscription-transport-ws module by apollo), in the next major version.
-
GraphQL Query and Mutation over Websockets
https://github.com/apollographql/subscriptions-transport-ws, which is used by Apollo Server does support executing queries and mutations actually but you are better off moving away it anyway (check the text in their README!)
What are some alternatives?
laravel-echo-server - Socket.io server for Laravel Echo
graphql-ws - Coherent, zero-dependency, lazy, simple, GraphQL over WebSocket Protocol compliant server and client.
graphiql - GraphiQL & the GraphQL LSP Reference Ecosystem for building browser & IDE tools.
uWebSockets.js - μWebSockets for Node.js back-ends :metal:
federation - 🌐 Build and scale a single data graph across multiple services with Apollo's federation gateway.
mercurius - Implement GraphQL servers and gateways with Fastify
apollo-server - 🌍 Spec-compliant and production ready JavaScript GraphQL server that lets you develop in a schema-first way. Built for Express, Connect, Hapi, Koa, and more.
ws - Simple to use, blazing fast and thoroughly tested WebSocket client and server for Node.js
fastify-websocket - basic websocket support for fastify
microdiff - A fast, zero dependency object and array comparison library. Significantly faster than most other deep comparison libraries and has full TypeScript support.
altair - ✨⚡️ A beautiful feature-rich GraphQL Client for all platforms.