Aller au contenu
s3nd.sh

Moteurs de synchronisation local-first

Une alternative à Replicache pour des migrations en un coup plutôt que du multijoueur

Des écritures locales optimistes, une app qui continue de fonctionner hors ligne, et des données qui apparaissent sur l’autre appareil de l’utilisateur.

Ce qu’est Replicache

Dans ses propres termes.

Un framework de synchronisation côté client de Rocicorp. Votre app écrit dans un cache local via des mutateurs, Replicache les pousse vers votre backend et tire les mises à jour en retour, et vous implémentez push et pull sur votre serveur contre votre propre base. Rocicorp construit maintenant Zero, un successeur piloté par les requêtes avec son propre serveur de synchronisation.

Côte à côte

Où ils se séparent.

 s3ndReplicache
Ce que c’estUne CLI, une bibliothèque et des hooks React sur votre propre bucket S3Framework de synchronisation client avec push et pull sur votre backend
Où vivent les donnéesVotre bucket : S3, R2, MinIO, Scaleway, WasabiVotre base backend, mise en cache sur le client
Les deux côtés en ligne en même tempsNon. Le code est utilisé plus tard, jusqu’à expirationNon
Depuis votre app webOui, via une route sur votre serveurOui
ComptesAucun. Le code est toute la poignée de mainCe que votre backend exige
HébergementVotre bucket, plus votre serveur quand un navigateur participeVotre backend ; Zero ajoute un serveur de synchronisation
PrixGratuit. Vous payez votre fournisseur de stockage pour quelques objets qui expirentGratuit
LicenceMITSource available ; Zero est Apache-2.0

Les différences

Ce qui change vraiment.

Un framework avec un contrat backend ou une primitive

Replicache vous demande d’implémenter push et pull, de garder une version par client et par espace, et de tout stocker dans une base backend. s3nd demande un bucket et vous donne put et get.

Multijoueur ou transfert personnel

Replicache est bâti pour beaucoup de clients qui éditent des données partagées en temps réel avec rebase et résolution de conflits. s3nd est bâti pour une personne qui emporte ses propres données sur son prochain appareil.

Identité implicite ou aucune

Push et pull ont besoin de savoir qui est le client. Un code de synchronisation n’a besoin de rien savoir.

La décision

Choisissez celui qui convient.

Choisissez Replicache quand

  • Multijoueur, temps réel, UI optimiste contre votre propre backend.
  • Vous êtes prêt à implémenter push et pull, ou à adopter Zero.

Choisissez s3nd quand

  • Il n’y a pas de base backend contre laquelle synchroniser.
  • La migration se fait une fois, ou une sauvegarde est réécrite de temps en temps.
  • Des codes, pas des comptes.

Déposez un fichier. Donnez le code.

Pointez-le sur le bucket que vous payez déjà. Rien à déployer, aucune inscription, personne au milieu.