Firebaseっていう便利なやつ

f:id:utouto97:20211223102910p:plain

Firebaseって聞いたことはありますか?
ウェブアプリを開発するのに非常に役立つサービスが勢揃いのクラウドサービスです。

Firebaseとは

Firebaseとは、Googleが提供するBaaS (Backend as a Service) で、 Webアプリやスマホアプリの開発プラットフォームです。

Ruby on Rails 等のフレームワークを使って開発されることの多いバックエンドを、Firebaseを使うことで容易に構築することができます。
プログラムを書く必要もなく、Firebaseコンソールでポチポチとしていくだけです。
(権限の設定等、少々複雑なところもあります)

DBとDBアクセス、認証、ビジネスロジックを実行するサービス等、バックエンドとして必要な様々なサービスが、Firebaseでは提供されています。

これらを組み合わせて、アプリを構築することは当然できます。
それだけではなく、Rails等で構築した独自のバックエンドに、DBサービスや認証のサービスのみを組み込んで利用することも可能です。

要は、Railsとかをつかって開発してたバックエンドを代替するものを構築することができます。
そこまで複雑ではない処理を実行する程度であれば、Firebaseで十分実装可能で、コストを抑えることも可能になります。
初めて使う場合、学習コストが少々かかりますが、豊富なドキュメントがあり、Firebaseコンソールもわかりやすいので、結構簡単に使えてしまいます。
特に、開発・メンテが大変な認証をFirebaseに丸投げできるのは、非常に助かります。

Firebaseが提供するサービス

先にも述べましたが、FirebaseはDBや認証等様々なサービスが提供されています。

次にいくつか例を挙げます。

  • Firebase Hosting
    ホスティングサービス、ReactやVueもホスティング可能
  • Cloud Firestore
    ドキュメント型のNoSQL
  • Realtime Database NoSQL データベース
  • Authentication
    認証、トークンを利用
  • Cloud Functions
    アプリのロジックを実行
  • Cloud Storage
    ストレージ
  • Firebase ML
    機械学習

その他、アナリティクスやモニターなどのアプリケーションを監視できるようなサービスも提供されています。

Cloud Firestore と Realtime Database
Firebaseの公式ページには次のように書かれています。

  • Cloud Firestore は、Firebase のモバイルアプリ開発用の最新データベースです。直感的な新しいデータモデルで Realtime Database をさらに強化しています。Cloud Firestore は、Realtime Database よりも多彩で高速なクエリと高性能なスケーリングが特長です。
  • Realtime Database は従来からある Firebase のデータベースです。リアルタイムのクライアント間同期が必要なモバイルアプリのための、効率的でレイテンシが低いソリューションです。

基本的には、Cloud Firestoreを利用し、より速度が重要な場面ではRealtime Databaseを利用すればよさそうです。

サービス一覧については↓の辺を見に行けばすべて書かれています。

firebase.google.com

また、それぞれの使い方も豊富なドキュメントにより説明されています。

firebase.google.com

数多くあるサービスのすべてを使う必要がなく、DBだけ、認証サービスだけのように必要なものだけを利用することもできます。
簡単に始められるので一度試してみるのはいかがでしょうか。