2024 ソフトウェア設計及び演習用の班Wiki
23::gr01::Firebase
Firebaseの説明
Firebaseとは
Firebase は Google が提供しているモバイルおよび Web アプリケーションのバックエンドサービスです。クラウドサービスの形態では BaaS に位置付けされます。 Firebase を使うことで、開発者はアプリケーションの開発に専念でき、バックエンドで動くサービスを作成する必要も管理する必要もありません。
サービスの早期リリースという要件が求められたときに、サーバレスアーキテクチャが注目され、 BaaS というクラウドサービスの形態が登場しました。サーバサイドの開発費を抑え、かつ工数もかからない。サービスの利用者が増えてもサーバの増築を意識しなくて良いなどの利点から、 Web サービスほどサーバを必要としないモバイル向けのサービスの BaaS に注目され、様々な BaaS が登場しました。
Firebase もその中の一つです。 Firebase はもともとは Google とは独立したサービスでしたが、2014年に Google に買収され、 GCP の仲間入りをしました。現在は GCP の様々なサービスと連携して使うことができるようになっています。
Firebase の機能
BaaS には、独自のビジネスロジックを組み込むことはできません。そのため、多くの BaaS には、データベース機能以外にも、 SNS 連携や Android 、 iOS の SDK などが提供されています。煩わしい認証は SDK が BaaS と連携してくれて、クライアントは数行のコードを書くだけで実現することができます。もちろん Firebase にもこういった機能がサポートされています。本アプリではでは以下のような機能を使用しました。
-
Cloud Firestore
Firebase に元から含まれているオブジェクト型のデータベースです。リアルタイムでクライアント全体の状態を同期させることができ、オフラインで動作するときはデータをキャッシュしてオンラインになった時に自動的にデータを同期します。
Cloud Firestoreのデータモデル
- Firebase Authentication
Firebase Authentication は、 Google のフェデレーション認証で、 Google 以外にも Facebook 、 GitHub 、 Twitter などのサードパーティの認証情報を使用して、クライアントアプリケーションのログインを行うことができます。また、フェデレーション ID 以外にもパスワード認証や電話番号認証にも対応しています。
- Firebase Hosting
Firebase Hosting はスタティックな Web ページを公開することができます。近年では HTML 、 CSS 、 Javascript を組み合わせてアプリケーションのような Web ページを実現することができるようになりました。こういった Web ページも Firebase Hosting を使って公開することもできます。 また、 Web ページでは、エッジキャッシュの機能を利用することができので、世界各地に分散している Google のエッジ接続拠点を使って高速にユーザに配信することができます。
最終更新日:2023/07/27 18:22:04