Aller au contenu
s3nd.sh

Moteurs de synchronisation local-first

Une alternative à PouchDB qui n’a pas besoin d’un CouchDB

IndexedDB dans le navigateur, les mêmes données sur un autre appareil, et une conception qui traite le hors-ligne comme normal plutôt que comme une erreur.

Ce qu’est PouchDB

Dans ses propres termes.

Une base de données JavaScript qui tourne dans le navigateur, sur IndexedDB, et se réplique avec CouchDB ou tout ce qui parle son protocole de réplication. Bidirectionnelle, incrémentale, avec détection de conflits par arbres de révisions, et présente depuis plus de dix ans.

Côte à côte

Où ils se séparent.

 s3ndPouchDB
Ce que c’estUne CLI, une bibliothèque et des hooks React sur votre propre bucket S3Base de données navigateur avec réplication CouchDB
Où vivent les donnéesVotre bucket : S3, R2, MinIO, Scaleway, WasabiUn serveur CouchDB, ou un compatible
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 mainAuthentification CouchDB
HébergementVotre bucket, plus votre serveur quand un navigateur participeCouchDB auto-hébergé ou hébergé
PrixGratuit. Vous payez votre fournisseur de stockage pour quelques objets qui expirentGratuit
LicenceMITApache-2.0

Les différences

Ce qui change vraiment.

Une base ou un snapshot de la vôtre

PouchDB est la base, avec son modèle de documents et ses révisions. s3nd laisse votre base tranquille, quelle qu’elle soit, et en déplace un export.

Un CouchDB ou un bucket

La réplication a besoin d’un CouchDB, ou d’un serveur compatible, qui tourne quelque part. s3nd a besoin de stockage objet et de rien d’autre.

Réplication continue ou code

PouchDB synchronise tant qu’il est connecté. s3nd déplace les données une fois, quand l’utilisateur le demande, et le code est le seul identifiant.

La décision

Choisissez celui qui convient.

Choisissez PouchDB quand

  • Vous voulez une base qui se synchronise, avec les révisions et les conflits comme concepts de premier ordre.
  • Un CouchDB que vous faites déjà tourner, ou un hébergé que vous êtes content de louer.
  • La réplication bidirectionnelle continue est la fonctionnalité.

Choisissez s3nd quand

  • Vous gardez votre propre schéma IndexedDB et votre propre wrapper.
  • Du stockage objet est tout ce que vous voulez faire tourner.
  • Nouvel appareil avec un code, sauvegarde, ou export chiffré.

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.