- Introduction interactive aux Conflict-free Replicated Data Types (CRDT)
- Un type de structure de données stocké sur différents ordinateurs (pairs) et pouvant être mis à jour immédiatement sans requête réseau ni confirmation auprès d'autres pairs
- Les CRDT sont excellents pour créer des applications collaboratives riches comme Google Docs et Figma, sans nécessiter de synchronisation via un serveur central
- Il existe deux types de CRDT : basés sur l'état et basés sur les opérations
- Les CRDT basés sur l'état transmettent l'intégralité de l'état entre les pairs, et le nouvel état est obtenu en fusionnant tous les états
- Les CRDT basés sur les opérations ne transmettent que les actions effectuées par l'utilisateur, qui peuvent ensuite servir à calculer le nouvel état
- Cet article se concentre sur les CRDT basés sur l'état et explique comment construire des CRDT primitifs, comment les composer en structures de données plus complexes, puis comment créer un éditeur collaboratif de pixel art
- Il présente le concept de Last Write Wins Register (LWW Register), un type simple de CRDT qui contient une seule valeur et utilise un timestamp pour remplacer la valeur courante par la dernière valeur écrite
- Il présente aussi le concept de Last Write Wins Map (LWW Map), un type de CRDT plus complexe qui contient une ou plusieurs valeurs
- Inclut un playground interactif pour aider à comprendre le fonctionnement des LWW Registers et des LWW Maps
- Le prochain article se concentrera sur la création d'un éditeur collaboratif de pixel art à l'aide des concepts décrits dans cet article
2 commentaires
C’est vraiment assez intéressant. Je me demandais justement comment étaient implémentées les applications permettant une collaboration en temps réel, comme Google Docs...
Commentaire Hacker News