- Introdução interativa a Conflict-free Replicated Data Types (CRDTs)
- Um tipo de estrutura de dados que fica armazenada em diferentes computadores (pares) e pode ser atualizada imediatamente sem requisições de rede nem confirmação de outros pares
- CRDTs são excelentes para construir aplicativos colaborativos ricos, como Google Docs e Figma, sem a necessidade de sincronização por um servidor central
- Existem dois tipos de CRDTs: baseados em estado e baseados em operações
- CRDTs baseados em estado transmitem todo o estado entre os pares, e um novo estado é obtido pela mesclagem de todos os estados
- CRDTs baseados em operações transmitem apenas as ações realizadas pelo usuário, que podem ser usadas para calcular um novo estado
- Este artigo foca em CRDTs baseados em estado e explica como construir CRDTs primitivos, como compô-los em estruturas de dados mais complexas e como criar um editor colaborativo de pixel art
- Apresenta o conceito de Last Write Wins Register (LWW Register), um tipo simples de CRDT que mantém um único valor e usa timestamps para sobrescrever o valor atual com o valor escrito por último
- Também apresenta o conceito de Last Write Wins Map (LWW Map), um tipo mais complexo de CRDT que mantém um ou mais valores
- Inclui playgrounds interativos para ajudar a entender como LWW Registers e LWW Maps funcionam
- O próximo artigo focará em construir um editor colaborativo de pixel art usando os conceitos explicados neste artigo
2 comentários
Conteúdo bem interessante. Eu tinha curiosidade sobre como eram implementados aplicativos com colaboração em tempo real, como o Google Docs...
Comentários do Hacker News