この手の記事はたくさんあるのですが、自分用にちゃんと理解して説明できるように図解で分かりやすさを心がけて書いていきます。
Firebaseってなんぞや
一言でいうと「アプリを爆速開発できるクラウドサービス」です。
2012年にFirebase社がサービス開始し、2014年にGoogle社によって買収されました。
どんなアプリが開発できるの?
なんで爆速で開発できるの?
Firebaseは「mBaaS(mobile Backend as a Service)」といわれるサービス提供モデルとなっています。
図の青色のボックスが自分で用意が必要なものです。
mBaaSはアプリケーション以外はFirebaseが用意してくれているため、面倒なサーバー設計や、構築作業などはすっ飛ばしてアプリケーション開発に着手できるのです。
Firebaseのプロジェクトについて
Firebaseの各エンティティは「Project > Application > Product」となっています。
Firebaseのプロジェクトを作成した時、内部的にはGCPのプロジェクトが作成されているため、課金や権限、識別子、削除操作などは共有されます。
参照:Firebaseのプロジェクトについて理解する|Firebase
Firebaseのプロジェクト作成のベストプラクティス
重要な部分を抜粋。
1 つのプロジェクト内のすべてのアプリが、同じアプリケーションのプラットフォーム別のバリエーションとなるようにしてください。
例えば、2つのアプリケーションを提供していた場合。
アクセスするリソースは別々になるので2つのプロジェクトに分けましょうということですね。
アプリ間で同じデータと構成を共有しないのであれば、それぞれのアプリを異なる Firebase プロジェクトに接続することを強くおすすめします。
ここで言うアンチパターンは、アクセスするデータが別々なのに同じプロジェクトにまとめないでねと言うことですね。
まとめ
- Firebaseは「アプリを爆速開発できるクラウドサービス」
- モバイルアプリ開発なら一通り開発できる
- サービス提供モデルは「mBaaS」
- Firebaseプロジェクトを作成した時、内部的にはGCPプロジェクトを作成している
- Firebaseプロジェクトはアクセスするリソースごとに分けて作るのがベスト