3 ms·
Any idea how this compares to Supabase's Realtime & Presence libraries? https://supabase.com/docs/guides/realtime https://supabase.com/docs/guides/realtime
by joshelgar 3y ago
Any idea how this compares to Supabase's Realtime & Presence libraries?
https://supabase.com/docs/guides/realtime https://supabase.com/docs/guides/realtime
- aboodman 3y agoWe'll post something soon comparing all of the options (in our opinion). But as I understand it: - Supabase Broadcast: one client sends every other client a one-time message - Supabase Presence: one client tells all other clients that its own state has changed. This is similar to above, except that server keeps track of all the last-state for each client so that new members of the channel can get up to date. - Supabase Realtime: server tells all clients when server state changes (so you will not get optimistic client-side changes this way)
- jitl 3y agoYou forgot to compare them :) Supabase’s real-time stuff lets various parts of your system send messages about changes to each other. But when it comes to realtime editing, that’s the easy part! Reflect is a much higher level abstraction that handles the hard parts: - maintaining a cache on the device (this alone is annoying hard to get right) - queuing updates to send to the server reliably - handling conflicts between different users while preserving the intent of each user, by rebasing histories locally, and choosing the winner on the server