-
Notifications
You must be signed in to change notification settings - Fork 65
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
subscriptions and live queries - real time with graphql #229
Conversation
72dfe3c
to
fce49a5
Compare
so excited for this! |
pages/blog/subscriptions-and-live-queries-real-time-with-graphql.mdx
Outdated
Show resolved
Hide resolved
pages/blog/subscriptions-and-live-queries-real-time-with-graphql.mdx
Outdated
Show resolved
Hide resolved
pages/blog/subscriptions-and-live-queries-real-time-with-graphql.mdx
Outdated
Show resolved
Hide resolved
pages/blog/subscriptions-and-live-queries-real-time-with-graphql.mdx
Outdated
Show resolved
Hide resolved
pages/blog/subscriptions-and-live-queries-real-time-with-graphql.mdx
Outdated
Show resolved
Hide resolved
pages/blog/subscriptions-and-live-queries-real-time-with-graphql.mdx
Outdated
Show resolved
Hide resolved
pages/blog/subscriptions-and-live-queries-real-time-with-graphql.mdx
Outdated
Show resolved
Hide resolved
pages/blog/subscriptions-and-live-queries-real-time-with-graphql.mdx
Outdated
Show resolved
Hide resolved
pages/blog/subscriptions-and-live-queries-real-time-with-graphql.mdx
Outdated
Show resolved
Hide resolved
pages/blog/subscriptions-and-live-queries-real-time-with-graphql.mdx
Outdated
Show resolved
Hide resolved
pages/blog/subscriptions-and-live-queries-real-time-with-graphql.mdx
Outdated
Show resolved
Hide resolved
pages/blog/subscriptions-and-live-queries-real-time-with-graphql.mdx
Outdated
Show resolved
Hide resolved
pages/blog/subscriptions-and-live-queries-real-time-with-graphql.mdx
Outdated
Show resolved
Hide resolved
more notes to myself:
|
pages/blog/subscriptions-and-live-queries-real-time-with-graphql.mdx
Outdated
Show resolved
Hide resolved
pages/blog/subscriptions-and-live-queries-real-time-with-graphql.mdx
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am soooo excited for this!
I hope this post will start a bigger conversation and find us more use cases and places to work on it in production
One tiny thing left to do before publishing is to do some reformating with the bullet points and adjust the relay cache update examples |
pages/blog/subscriptions-and-live-queries-real-time-with-graphql.mdx
Outdated
Show resolved
Hide resolved
pages/blog/subscriptions-and-live-queries-real-time-with-graphql.mdx
Outdated
Show resolved
Hide resolved
pages/blog/subscriptions-and-live-queries-real-time-with-graphql.mdx
Outdated
Show resolved
Hide resolved
@Urigo @dotansimha I think it is finally in a "ship it" stage :) |
pages/blog/subscriptions-and-live-queries-real-time-with-graphql.mdx
Outdated
Show resolved
Hide resolved
Well written article! I was a bit surprised, reading about Hasura and PostGraphile but not seeing Meteor mentioned in here, but this just as a personal note. Meteors approach is also quite interesting in my opinion as even the initial state is transmitted as a "patch" if you will 😄 |
TBH I don't have much experience with Meteor, maybe @Urigo could sparkle in some knowledge 🤔 |
Me trying to describe the concept about Meteor. I hope it's understandable 😊 I would quickly describe Meteor as having a client-side database. The system is locked to MongoDB and by this lock, they allow you to "publish" a subset of your data from your server-side database (MongoDB) to a client-side database (minimongo - an in-memory database with an interface almost identical to MongoDB). For the UI you can then simply write reactive queries against minimongo where you receive what they call a reactive cursor (for simplicity I'd compare it with an observable). The server sends the observed changes (it observes the database changes by listening to the MongoDB oplog - used to keep MongoDB secondaries in sync) using the DDP protocol (https://github.com/meteor/meteor/blob/devel/packages/ddp/DDP.md#managing-data) which stores them straight in minimongo. Minimongo now triggers a recomputation of all the queries to this collection. All this works well because the transmission of data is just done by syncing single data-sets stored in collections (or tables or how you call them) - one publication per collection. Graphql would require a different approach, as you most of the time already get a composition - a joined and composed set of data - if you want. Meteor is more, but this, I think, is the most important part in regards to this article. |
I've reviewed and also created did a workshop using this blog post and all the cool things from https://github.com/n1ru4l/graphql-bleeding-edge-playground This is remarkable and makes me so happy the world of GraphQL and "real time" abilities is coming back from the dead again, and this time by amazing individuals that are just passionate about it all! Few general points
Unrelated update - @yaacov has been progressing on @defer support on schema stitching and noticed we need some things from Now, about Meteor :) |
@Urigo I have to say that I personally am very passionate about seeing this in action. The product we're currently developing in-house here would benefit of it quite well, but I don't know how much time and energy I can invest into it. I'll let you know if I get to anything beyond that. I'd be very interested though hearing the plan you have in mind. This might be worth its own issue, as I think it's rather a successor of the paper discussed here. |
@yaacov I am sure you are the better yaacov |
Work in progress :)