2021年のFirebaseをまとめてみた

2021/12/017 min read

Firebase Advent Calendar 2021 の 1 日目の記事です。

はじめに

Firebase とは、Google 社が提供している、アプリを素早く構築できる mBaaS のサービスです。

非常に簡単に始めることができるためハッカソンで利用されることが多いですが、エンタープライズにおいても、スピード感を持ってサービスを立ち上げるには良い手段になり得るでしょう。

Firebase は 2011 年に誕生し、2014 年に Google に買収されたサービスです。10 年続いているサービスですが、今年も 5 月の Google I/O や 11 月の Firebase Summit にて機能のアップデートがあり、Firebase の成長は続いています。

この記事では、個人的に気になったアップデートを整理しました。

Firebase App Check

日本時間の 2021/05/19 から開催された Google I/O にて、発表されたセキュリティに関する機能です。

firebase app check

App Check Attestation Provider(認証プロパイダ)により、以下のいずれかまたは両方を証明します。Firebase のバックエンドサービスは証明されているリクエストのみを受け付けることにより、不正利用から保護することができます。

  • リクエストが本物のアプリケーションから発信されていること
  • リクエストが本物のデバイスから発信されていること

App Check Attestation Provider(認証プロパイダ)

先日の 2021/11/11 に開催された Firebase Summit で新たに App Attest と reCAPTCHA Enterprise が追加されました。

対応している Firebase のバックエンドサービス

現状全てのバックエンドサービスに対応しているわけではありません。順次対応を進めているようです。 先日の 2021/11/11 に開催された Firebase Summit では新たに Cloud Firestore と Custom Backend Resources に対応しました。

  • Realtime Database
  • Cloud Functions(Callable Functions のみ対応)
  • Cloud Firestore(iOS and Android のみ対応)
  • Cloud Storage
  • Custom Backend Resources

Custom Backend Resources とは

Firebase の SDK を利用することで、任意のバックエンドでリクエストを検証することが可能です。

Firestore Emulator RequestsMonitor

Firebase Local Emulator Suite は、Firebase のリソースをローカルでビルドおよびテストを可能にするツールセットです。

emulator suite usecase

今年からローカルの Firestore Emulator へのリクエストをリアルタイムで確認できるようになりました。

これにより、実装したアプリケーションがリクエストするデータのパスや Firebase のセキュリティルールがどのように評価されたのかを開発者が確認できるようになり、テスト中のデバック作業が容易になりました。

なお、リクエストモニターはクライアント向けの SDK を利用したリクエストのみが表示されます。セキュリティルールをバイパスする、Admin SDK を利用したリクエストは表示対象外となります。

新しくなった Web SDK

今年は軽量化をテーマに 2 つの SDK が登場しました。

Web version9(modular)

Web version9(modular)として、Firebase の機能ごとにモジュール化された Web SDK が提供されました。

firebase modular sdk size table

従来の SDK とは違い、「必要なものだけをインポートする」アプローチが可能となり、Tree Shaking により、バンドルされるサイズが大幅に小さくなります。

新しい SDK を利用するにはアプリケーションコードを修正する必要があります。互換性ライブラリが提供されていますので、まずはそちらから試してみるとよいでしょう。

Firestore Lite

リアルタイム読み取りやオフライン機能が無い代わりに、バンドルサイズが軽量になった Firestore 用の API が提供されました。

Firestore を 1 回読み取ることで事が足りるシンプルなサービスにはもってこいの API です。

DartPad が Cloud Firestore と Firebase Authentication をサポート

DartPad は、Dart や Flutter で構築されたアプリケーションを Web ブラウザーで直接実行できる、オープンソースの Web ベースのプレイグラウンドです。

DartPad が一部のパッケージのインポートに対応するアップデートがあり、Cloud Firestore と Firebase Authentication がサポートされました。

これにより、ブラウザーだけでさまざまなプラットフォームのユーザーに提供できるアプリを開発できるようになりました。

その他の Firebase サービスも順次対応予定とのことです。

Firebase Extensions

Firebase Extensions は、提供されている「拡張機能」をデプロイすることにより、自らコードの調査、記述、デバッグを独自に行うことなく、アプリケーションに機能を追加することができます。

firebase extensions

今年も”拡張機能”のバリエーションが増えています。

Firebase Japan User Group のハッカソン番長である ail さんの「Firebase Summit 2021 まとめ」の記事で、アップデートが分かりやすくまとまっていましたので、そちらを参照ください!

まとめ

Firebase の誕生から 10 年が経ちましたが、まだまだ成長が続いているサービスです。来年もどのような機能が登場するのか、非常に楽しみです。

最後に、今年は Game 関連のアップデートが多かった印象ですが、私が Game 関連のアプリケーション開発に明るくないため、本記事では取り上げませんでした。別の方のアップデート記事を待ちたいと思います。

参考

Avatar of Author

わたるくん

I ♥ Firebase / 目指せフルスタックエンジニア!