Ces dernières semaines, j’ai décidé de migrer mes deux apps Expo de Supabase vers Firebase. Non pas parce que Supabase était mauvais – j’ai vraiment apprécié l’utiliser –, mais parce que je voulais essayer autre chose et découvrir Firebase pour les apps React Native. Résultat : la migration a été plus fluide que prévu.
🔄 Pourquoi avoir changé ?
Ma configuration Supabase fonctionnait bien pour TinyRecipe (gestionnaire de recettes et de garde-manger) comme pour TinyDebt (suivi des dettes). Mais je voulais :
- expérimenter les SDK natifs de Firebase
- simplifier la configuration de l’authentification et des analytics
- tester les fonctionnalités temps réel de Firestore
- acquérir de l’expérience pratique pour de futurs projets
⚙️ Intégrer Firebase à Expo
J’ai utilisé @react-native-firebase et, honnêtement, tout s’est passé facilement. Quelques remarques sur la migration :
- La bibliothèque fonctionne avec Expo Dev Clients (pas besoin du workflow bare).
- La configuration était simple : j’ai seulement dû mettre à jour les identifiants de l’app pour iOS et Android.
- Les requêtes Firestore m’ont semblé très réactives par rapport à ma configuration précédente.
- Firebase Authentication et Analytics n’ont nécessité qu’une configuration minimale.
Ce qui m’a le plus surpris, c’est à quel point Expo a progressé dans la prise en charge des modules natifs : on avait presque l’impression d’utiliser React Native directement.
⚡ Leçons retenues
- Supabase est excellent pour démarrer rapidement avec SQL ; Firebase se distingue par les mises à jour temps réel et les données accessibles hors ligne.
- La structure flexible de Firestore a rendu la migration des schémas presque indolore.
- Si vous développez avec Expo et souhaitez découvrir Firebase, @react-native-firebase mérite le détour.
📱 Mes apps
🍱 TinyRecipe est disponible sur :
💰 TinyDebt est disponible sur :
💬 Pour conclure
Cette migration m’a montré à quel point Expo est devenu flexible. Il n’a jamais été aussi facile de choisir les outils adaptés à son app – Supabase ou Firebase, les deux sont de bons choix.
