Несколько недель назад я решил перенести два своих приложения на Expo с Supabase на Firebase. Не потому, что Supabase плох — мне он искренне нравился, — а потому что хотел попробовать что-то новое и понять, как Firebase ощущается в приложениях на React Native. Спойлер: всё прошло гладче, чем я ожидал.
🔄 Почему я решил перейти
Моя конфигурация на Supabase прекрасно работала и для TinyRecipe (менеджер рецептов и продуктов), и для TinyDebt (приложение для учёта долгов). Но я хотел:
- поэкспериментировать с нативными SDK Firebase
- упростить настройку аутентификации и аналитики
- проверить возможности Firestore в реальном времени
- получить практический опыт для будущих проектов
⚙️ Как я интегрировал Firebase с Expo
Я использовал @react-native-firebase, и, честно говоря, всё было просто. Несколько заметок о процессе миграции:
- Библиотеку можно использовать с Expo Dev Clients (bare workflow не требуется).
- Настройка была простой: достаточно было обновить учётные данные приложений для iOS и Android.
- Запросы Firestore ощущались очень быстрыми по сравнению с моей прежней конфигурацией.
- Firebase Authentication и Analytics потребовали минимальной настройки.
Больше всего меня удивило, насколько Expo улучшил работу с нативными модулями — это почти как работать с обычным React Native.
⚡ Выводы
- Supabase отлично подходит для быстрых решений на SQL, а Firebase силён обновлениями в реальном времени и данными, готовыми к офлайн-работе.
- Миграция схем в основном прошла безболезненно благодаря гибкой структуре Firestore.
- Если вы разработчик на Expo и интересуетесь Firebase, @react-native-firebase стоит изучить.
📱 Мои приложения
🍱 TinyRecipe доступно в:
💰 TinyDebt доступно в:
💬 Подводя итоги
Эта миграция многому меня научила и показала, насколько гибким стал Expo. Выбрать инструменты, лучше всего подходящие вашему приложению, проще, чем когда-либо: что Supabase, что Firebase — ошибиться трудно.
