Nel corso degli ultimi anni gli sviluppatori hanno dovuto in gran parte scegliere tra la creazione di software cloud e la realizzazione di applicazioni più tradizionali installate sui singoli dispositivi. Il
cloud semplifica la condivisione dei dati tra gli utenti e semplifica l'accesso da qualunque client che possa essere collegato alla rete Internet.
Automerge è un progetto pubblicato su GitHub già da alcuni anni ma che solo in questi giorni ha raggiunto la sua veste più matura.
Gli autori di
Automerge hanno messo a punto un
modello per lo sviluppo software chiamato
local-first software con l'obiettivo di combinare il meglio di entrambi i mondi: software affidabile eseguito localmente abbinato a un'infrastruttura di collaborazione scalabile offline.
Il progetto prende le mosse dal concetto di
CRDT (
Conflict-free Replicated Data Type) che descrive una struttura di dati che semplifica la realizzazione di soluzioni di
archiviazione di dati distribuiti nell'ambito di applicazioni multiutente.
Automerge consente di registrare le modifiche apportate ai dati e quindi riprodurle in altri luoghi in maniera tale che lo stesso risultato venga riprodotto in modo affidabile su ciascun dispositivo.
Con una soluzione come Automerge il programmatore può abilitare senza stress meccanismi di
collaborazione in tempo reale all'interno delle applicazioni senza dover implementare complicati algoritmi lato server.
È possibile avere una copia dello
stato dell'applicazione in locale su più dispositivi che possono appartenere allo stesso utente o a utenti diversi.
Fonte:
www.ilsoftware.it