React Helsinki February 2020

  Рет қаралды 28,822

Fraktio

Fraktio

Күн бұрын

Henri Vesala: Hard Lessons Learned with Apollo Graphql
Tuomas Artman: Real-time sync for web apps

Пікірлер: 19
@Antman261
@Antman261 Жыл бұрын
This is really interesting. We have a completely different approach to real-time sync between multiple clients, but it doesn't support offline mode (although maybe it could). Our clients dispatch commands via websockets, and our server processes the commands, if it is accepted, it publishes an event. Events are then emitted back to all interested clients, along with the new state. In order to prevent commands being issued based on stale state, every event message includes a sequence id, which the client must include in commands it is sent. If a command is issued based on a stale sequence id, the command is rejected. However, if we rebased the stale commands onto the latest state, we could probably support offline mode. Also, we actually build our state in memory on the server using redux. So we have effectively hoisted react state all the way up onto the server 😁 We do also use observables, but we actually do it using javascript proxies to build indexes, simply to speed up lookups on mutable properties.
@GotsOJ
@GotsOJ Жыл бұрын
This sounds amazing-is there a way I could read/learn more?
@fuads
@fuads Жыл бұрын
What you're describing sounds close to what Operational Transformation, although in OT the server does the "rebase" step.
@Antman261
@Antman261 Жыл бұрын
@@GotsOJ One day we'll need to write up our approach in our engineering blog, but currently no, we don't have anything written up about it publicly
@Hirschischnitte
@Hirschischnitte 8 ай бұрын
@@Antman261 is there anything out there yet?
@codeit9023
@codeit9023 Жыл бұрын
Fantastic talk by Tuomas Artman! I particularly enjoyed a clear understanding of the underlying details & great level of explanation🙂👍🏻
@RIP212
@RIP212 2 жыл бұрын
Tuomas - amazing talk. Please do open source the thing as I feel like I'm going to write one shitty one myself :DDD Big fan of Linear.
@kukasmog
@kukasmog 3 жыл бұрын
Artman’s presentation was on point!
@tobias3581
@tobias3581 Жыл бұрын
Amazing. Curious if the classes with decorators that defines the graph api are used to sync mongo as well? If the model changes, how many places must be manually updated?
@benjaminakar
@benjaminakar 3 жыл бұрын
Very interesting talk, Artman! 👏🏼
@mrelec1000
@mrelec1000 3 жыл бұрын
Really enjoyed Artman's talk!
@ionionion
@ionionion 2 жыл бұрын
Great talk 👌 Will you open source it ? 🙃
@ThugLifeModafocah
@ThugLifeModafocah 2 жыл бұрын
About the linear presentation: and how do you guys handle conflicts when two people changes something at the same time and how it handles when they did changes almost at the same time? Think about these 2 questions in these 2 scenarios: when they have internet connection and when they are offline.
@ThugLifeModafocah
@ThugLifeModafocah 2 жыл бұрын
So, nevermind, the guy at 1:10:10 just asked the same thing as I.😅
@jimshtepa5423
@jimshtepa5423 Жыл бұрын
has anyone tried to implement what Artman explained in this video? how does the source code look like?
@seannewell397
@seannewell397 Жыл бұрын
Really wanted to see the .save in context in a component 😬
@SimonKubicaPM
@SimonKubicaPM 2 жыл бұрын
Tuomas = 🐐
@briceleroy
@briceleroy 4 жыл бұрын
I'm confused regarding the Reat-time sync for web apps. It looks like using redux and selectors instead of mobX would have avoided all this complexity and postfixed ID tricks.
@nonefvnfvnjnjnjevjenjvonej3384
@nonefvnfvnjnjnjevjenjvonej3384 2 жыл бұрын
Or one can use just rails action cable and get rid of all those different layers / complexity at one go.
Scaling the Linear Sync Engine
1:06:08
Linear
Рет қаралды 16 М.
James Arthur - ElectricSQL, A local first sync engine
58:52
devtools-fm
Рет қаралды 1,2 М.
Throwing Swords From My Blue Cybertruck
00:32
Mini Katana
Рет қаралды 11 МЛН
Dad gives best memory keeper
01:00
Justin Flom
Рет қаралды 21 МЛН
Bike vs Super Bike Fast Challenge
00:30
Russo
Рет қаралды 23 МЛН
Unexpected benefits of going local-first - Tuomas Artman (Local-First Conf)
22:48
Higher-Order Components Are Misunderstood In React
17:38
Jan Hesters
Рет қаралды 1 М.
The Only Unbreakable Law
53:25
Molly Rocket
Рет қаралды 328 М.
What does larger scale software development look like?
24:15
Web Dev Cody
Рет қаралды 1,4 МЛН
"The Life & Death of htmx" by Alexander Petros at Big Sky Dev Con 2024
23:01
Montana Programmers
Рет қаралды 57 М.
Rust and RAII Memory Management - Computerphile
24:22
Computerphile
Рет қаралды 227 М.
C++ vs Rust: which is faster?
21:15
fasterthanlime
Рет қаралды 393 М.
WebRTC Crash Course
1:10:06
Hussein Nasser
Рет қаралды 229 М.
How Shadcn/ui ACTUALLY Works
32:38
Theo - t3․gg
Рет қаралды 99 М.