記事

ExpoアプリをSupabaseからFirebaseへ移行した方法

TinyRecipeとTinyDebtをSupabaseからFirebaseへ移行した理由と方法、移行中に驚いたことを紹介します。

ExpoアプリをSupabaseからFirebaseへ移行した方法

ここ数週間で、2つのExpoアプリをSupabaseからFirebaseへ移行することにしました。Supabaseに問題があったわけではありません。実際に気に入って使っていましたが、新しいものを試し、React NativeアプリでFirebaseがどのように使えるかを知りたかったのです。結果は、予想以上にスムーズでした。

🔄 移行した理由

TinyRecipe(レシピ・食材管理アプリ)とTinyDebt(借金管理アプリ)の両方でSupabaseは問題なく動作していました。それでも、次のことを試したいと思いました。

  • FirebaseのネイティブSDKを試す
  • 認証と分析機能の設定を簡素化する
  • Firestoreのリアルタイム機能を試す
  • 今後のプロジェクトに向けて実践経験を積む

⚙️ ExpoにFirebaseを統合する

@react-native-firebaseを使いましたが、驚くほど簡単でした。移行時に気づいた点を紹介します。

  • Expo Dev Clientで使用できます(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でも、どちらを選んでも大きく間違うことはありません。