Appwrite vs Firebase pour Flutter : le comparatif honnête (features, coûts, ops)

Appwrite vs Firebase pour Flutter : le comparatif honnête (features, coûts, ops)

En ce début d'année 2026, j'étais à Flutter Lille, où j'y ai vu une conf de Jean-Baptiste Dujardin sur Appwrite comme backend pour une app Flutter. Ça m'a donné envie de poser le sujet proprement : Appwrite est-il une alternative crédible à Firebase en 2026 ? Spoiler : oui… mais pas pour les mêmes raisons.

L'objectif ici n'est pas de "vendre" une techno. C'est de t'aider à choisir en fonction de ton produit, ton équipe et ton rapport au self-host.

Comparatif "feature par feature"

L'idée : séparer le core backend (ce que les deux font) du pack produit (là où Firebase a une avance nette).

1) Core backend (Auth / DB / Storage / Realtime / Functions / Messaging)

FeatureFirebaseAppwriteÀ savoir en prod
AuthEmail/mdp, téléphone, anonyme, providers "prêts" (Google, Facebook, Apple, Twitter/X, GitHub, etc.) (Firebase)Email/mdp, SMS, Magic URL, Email OTP, OAuth2 (30+), anonyme, JWT, custom token, MFA (appwrite.io)SSO entreprise (SAML/OIDC) côté Firebase passe par l'upgrade "Identity Platform". (Firebase)
DBCloud Firestore (NoSQL, realtime, offline) (Firebase)Appwrite Databases (collections/documents + permissions) (appwrite.io)Le modèle de données n'est pas identique : pense "requêtes + index + règles" avant de migrer. (Google Cloud Documentation)
RealtimeListeners Firestore / sync (Firebase)Realtime via WebSocket (channels/events) (appwrite.io)Appwrite : les changements d'abonnements peuvent recréer la connexion → à gérer côté state management. (appwrite.io)
StorageCloud Storage for Firebase (appwrite.io)Storage + previews/transformations images (Reddit)Côté self-host : storage backend + backups = ton sujet. (appwrite.io)
FunctionsCloud Functions (infra gérée) (Stack Overflow)Functions avec deployments + activation/rollback (appwrite.io)Attention aux nuances Appwrite Cloud vs self-host (runtimes/quotas). (appwrite.io)
MessagingFCM (push) (Firebase)Push + Email + SMS unifiés (appwrite.io)Firebase couvre très bien le push, Appwrite vise la "suite communication". (Firebase)

2) Pack produit / growth

Feature "produit"FirebaseAppwrite
AnalyticsGoogle Analytics for Firebase (Firebase)À compléter via outil tiers
Crash reportingCrashlytics (Firebase)À compléter via outil tiers
Feature flags / rolloutsRemote Config (feature flags + rollouts) (Firebase)À compléter via outil tiers
A/B TestingFirebase A/B Testing (Firebase)À compléter via outil tiers
HostingFirebase Hosting (CDN, SSL, pairing Functions/Cloud Run) (Firebase)Appwrite Sites (hébergement web) (appwrite.io)

Si ton app est B2C et que tu vis au rythme des expériences / rollouts / crash fixes, Firebase reste un "monolithe product" très dur à battre.

Auth

Firebase Auth : rapide, intégré, et… très "Google friendly"

Firebase Auth propose les classiques : email/mdp, téléphone (SMS), anonyme, custom auth, et des providers fédérés.

Côté providers, la doc Firebase liste les flows/entrées pour Google, Apple, Facebook, Twitter/X, GitHub, et d'autres selon plateformes (ex : Play Games côté Android).

Point important si tu fais du B2B / entreprise : SAML et OIDC existent, mais via Firebase Authentication with Identity Platform (upgrade).

Appwrite Auth : plus "plateforme", plus d'options "passwordless"

Appwrite met en avant : Magic URL, Email OTP, OAuth2 (30+ providers), MFA, JWT, custom token, etc.

Si tu veux permettre à un utilisateur de se connecter via plusieurs méthodes (Google + email/mdp, par exemple), Appwrite gère le "linking" via le concept d'Identities.

Mon take :

  • Firebase est excellent pour ship vite, surtout si ton auth est "standard mobile".
  • Appwrite devient très séduisant si tu veux pousser le passwordless et garder une logique plateforme (identities + permissions) sans te réinventer la roue.

Données

Firestore a un point fort très concret : offline persistence (cache + sync + last write wins). Côté FlutterFire, tu peux même configurer le comportement de cache (taille, garbage collection).

Appwrite peut être realtime, mais l'approche "offline-first" est généralement plus "à construire" côté client (selon ton use-case et ta stratégie de synchro).

Si ton app doit fonctionner dans le métro, sur un chantier, ou en zone blanche : mets ce point tout en haut de ta checklist.

DX & workflow : local, CI/CD, environnements

Firebase : l'Emulator Suite est une arme

Le Firebase Local Emulator Suite te permet de tester localement Firestore/Auth/Storage/Functions/etc, avec une UI dédiée et une intégration CI possible.

Appwrite : "infra en Docker" + CLI pour versionner la plateforme

Appwrite est pensé pour tourner partout où Docker tourne. Et côté workflow, la CLI permet de pull/push des ressources (ex : schémas DB/tables) pour synchroniser dev → preprod → prod.

En clair : Firebase te donne une super sandbox locale. Appwrite te donne une plateforme "versionnable" plus naturellement.

Sécurité : Rules vs Permissions (et les pièges classiques)

Firebase : Security Rules (puissantes, mais ça se mérite)

Les Firebase Security Rules sécurisent Firestore/Realtime DB/Storage, avec une syntaxe et des conditions très expressives. Le piège : c'est facile de faire une règle trop permissive, ou une règle "juste assez" qui casse en prod au premier edge case.

Appwrite : permissions "whitelist" au niveau ressource

Appwrite fonctionne avec un système de permissions très direct : tu autorises user / team / role à lire/écrire/supprimer une ressource. C'est souvent plus simple à raisonner… mais tu peux quand même te tirer une balle dans le pied avec un any mal placé.

Coûts

Firebase : pay-as-you-go, donc "attention à la facture"

Firebase pousse un calculateur Blaze pour estimer les coûts. Et surtout : les alertes budget n'empêchent pas la facturation, elles alertent (nuance importante).

Appwrite : Cloud "par plan" + self-host "par infra + ops"

Appwrite Cloud affiche ses plans et explique la logique de dépassement (charges additionnelles, budget cap). Ils ont aussi fait évoluer le pricing (ex : passage à un modèle "par projet", ajustements de bande passante).

Règle simple :

  • Firebase te fait payer l'usage finement (et ça peut monter vite si tu ne pilotes pas).
  • Appwrite self-host te fait payer en "ops" : VPS, stockage, backups, monitoring… et ton temps.

Self-host Appwrite

Si tu self-host Appwrite, tu récupères le contrôle… et la responsabilité.

  • Installation : Appwrite vise une install Docker, avec des prérequis assez standards (2 CPU / 4GB RAM / Docker Compose).
  • Updates : il y a une doc "updates & migrations" et un migration tool.
  • Backups : c'est ton job (avec recommandations RPO/RTO + tests de restore).

La conf insistait sur le fait que "ça se maintient bien" (Docker + migrations). Je suis assez d'accord… tant que tu prends le backup/restore au sérieux dès le jour 1.

Migration Firebase → Appwrite

Avant de migrer, je recommande une checklist simple :

  1. Auth : providers utilisés, compte anonyme, linking, SMS, SSO éventuel.
  2. Données : structure, index, requêtes critiques, "offline behavior" attendu.
  3. Sécurité : règles Firebase vs permissions Appwrite (modèle mental différent).
  4. Fonctions : triggers, secrets, rollback, workflow de déploiement.
  5. Pack produit : analytics, crash reporting, feature flags, A/B tests : par quoi tu remplaces ?

Matrice de décision

Je choisirais Firebase si…

  • je veux un pack produit complet (analytics/crash/flags/AB/push/hosting) sans assembler 6 services.
  • je privilégie le time-to-market et la tranquillité infra.
  • l'offline-first est central (Firestore le fait très bien).

Je regarderais Appwrite si…

  • je veux open-source + self-host (ou Cloud) pour des raisons de contrôle/souveraineté/coût.
  • je veux une plateforme backend "tout-en-un" côté core, sans lock-in lourd.
  • je suis prêt à traiter sérieusement backups + upgrades + monitoring.

Conclusion

Firebase et Appwrite ne jouent pas exactement le même match.

  • Firebase gagne quand tu veux ship + mesurer + itérer avec un outillage produit hyper mature.
  • Appwrite gagne quand tu veux reprendre la main sur ton backend, sans retomber dans "je code mon BaaS maison".

Tags

  • flutter

  • ios

  • android

  • appwrite

  • firebase

  • backend

  • baas

  • comparaison

Cet article à été posté le