LoginSignup
9
8

More than 3 years have passed since last update.

Firebaseを分かりやすく説明するよ(`・ω・)

Last updated at Posted at 2020-03-29

この手の記事はたくさんあるのですが、自分用にちゃんと理解して説明できるように図解で分かりやすさを心がけて書いていきます。

Firebaseってなんぞや

一言でいうと「アプリを爆速開発できるクラウドサービス」です。
2012年にFirebase社がサービス開始し、2014年にGoogle社によって買収されました。

どんなアプリが開発できるの?

モバイルアプリケーションなら一通り作れます。
スクリーンショット 2020-03-29 22.09.21.png
スクリーンショット 2020-03-29 22.09.54.png

引用:ドキュメント|Firebase

なんで爆速で開発できるの?

Firebaseは「mBaaS(mobile Backend as a Service)」といわれるサービス提供モデルとなっています。
図の青色のボックスが自分で用意が必要なものです。
mBaaSはアプリケーション以外はFirebaseが用意してくれているため、面倒なサーバー設計や、構築作業などはすっ飛ばしてアプリケーション開発に着手できるのです。
1c2f3573972edaa4.png

Firebaseのプロジェクトについて

Firebaseの各エンティティは「Project > Application > Product」となっています。
Firebaseのプロジェクトを作成した時、内部的にはGCPのプロジェクトが作成されているため、課金や権限、識別子、削除操作などは共有されます。

6cadb2cd-fe24-49cf-97aa-5b22f847c59bのコピー.png

参照:Firebaseのプロジェクトについて理解する|Firebase

Firebaseのプロジェクト作成のベストプラクティス

重要な部分を抜粋。

1 つのプロジェクト内のすべてのアプリが、同じアプリケーションのプラットフォーム別のバリエーションとなるようにしてください。

例えば、2つのアプリケーションを提供していた場合。
51731642-ec52-4083-b9a1-3597c7f99835.png
アクセスするリソースは別々になるので2つのプロジェクトに分けましょうということですね。
51731642-ec52-4083-b9a1-3597c7f99835のコピー.png

アプリ間で同じデータと構成を共有しないのであれば、それぞれのアプリを異なる Firebase プロジェクトに接続することを強くおすすめします。

ここで言うアンチパターンは、アクセスするデータが別々なのに同じプロジェクトにまとめないでねと言うことですね。
51731642-ec52-4083-b9a1-3597c7f99835のコピー2.png

参照:一般的なベストプラクティス|Firebase

まとめ

  • Firebaseは「アプリを爆速開発できるクラウドサービス」
  • モバイルアプリ開発なら一通り開発できる
  • サービス提供モデルは「mBaaS」
  • Firebaseプロジェクトを作成した時、内部的にはGCPプロジェクトを作成している
  • Firebaseプロジェクトはアクセスするリソースごとに分けて作るのがベスト
9
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
8