Aller au contenu
s3nd.sh

Moteurs de synchronisation local-first

Une alternative à Firebase pour les apps local-first qui gardent leurs données

Un utilisateur qui ouvre l’app sur un second appareil et y retrouve ses données. Les deux gèrent le cas hors ligne sans que l’app s’en aperçoive.

Ce qu’est Firebase

Dans ses propres termes.

La base de documents hébergée de Google, Cloud Firestore, avec des écouteurs en temps réel et une persistance hors ligne sur web et mobile. Le SDK met en cache localement, met les écritures en file hors ligne et réconcilie à la reconnexion. Facturée par lecture, écriture et suppression de document, et par gigaoctet stocké, avec le reste de la plateforme Firebase : auth, règles, fonctions, hébergement.

Côte à côte

Où ils se séparent.

 s3ndFirebase
Ce que c’estUne CLI, une bibliothèque et des hooks React sur votre propre bucket S3Base de documents hébergée en temps réel avec un cache hors ligne
Où vivent les donnéesVotre bucket : S3, R2, MinIO, Scaleway, WasabiGoogle Cloud
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 mainFirebase Auth, anonyme autorisé
HébergementVotre bucket, plus votre serveur quand un navigateur participeHébergé uniquement
PrixGratuit. Vous payez votre fournisseur de stockage pour quelques objets qui expirentOffre gratuite, puis à l’opération
LicenceMITService propriétaire ; SDK Apache-2.0

Les différences

Ce qui change vraiment.

Les serveurs de Google ou votre bucket

Firestore est la source de vérité et vit sur Google Cloud. Avec s3nd, la source de vérité est l’appareil, et le bucket est à vous : S3, R2, MinIO, où vous décidez.

Facturation à l’opération ou quelques objets

Firestore facture chaque lecture et chaque écriture. Un snapshot est un objet, écrit quand l’utilisateur le demande ou après temporisation, et le coût ne vaut pas la peine d’être calculé.

Une plateforme ou une primitive

Firebase, c’est de l’auth, des règles, des fonctions et une console. s3nd, c’est put, get et un code. Aucun des deux n’est une critique de l’autre.

La décision

Choisissez celui qui convient.

Choisissez Firebase quand

  • Du temps réel entre beaucoup d’utilisateurs et vous voulez que Google fasse tout tourner.
  • Vous voulez aussi l’auth, les règles, les fonctions et l’hébergement.
  • Du mobile natif avec persistance hors ligne prête à l’emploi.

Choisissez s3nd quand

  • Les données ne doivent pas vivre sur les serveurs d’un tiers.
  • Un coût prévisible : quelques objets, pas un milliard de lectures.
  • Du local-first avec le navigateur comme source de vérité et sans connexion.

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.