Firebaseとは?Google社の強みを活かしたメリットや機能をご紹介

Googleが提供しているFirebaseは、スマートフォンアプリやWebアプリケーションにおける「バックエンド開発」において、スピードの向上とコスト削減を可能にするプラットフォームです。Firebaseには、バックエンドを含め、アプリ開発に役立つ機能が数多く用意されています。

この記事では、Firebaseの概要や特徴、導入のメリット、さらに機能の一覧をわかりやすく解説します。アプリの開発でFirebaseを検討している人は、ぜひ参考にしてください。

 Googleが提供するFirebaseとは?

Firebaseは、iOS/AndroidアプリやWebアプリケーションの開発に活用できるプラットフォームです。mBaaS(エムバース)の一つであり、2011年にFirebase社がサービスを開始しました。2014年には、Google社に買収されたことで、知名度が上がりました。

Firebaseはアプリ開発における「バックエンド環境」を提供するサービスです。バックエンド環境とは、ユーザーには見えない、アプリの裏側の動作のことを指します。

データのリアルタイム同期など豊富な機能を持ち、利用目的に応じて組み合わせて使用できます。

firabaseとは何か

 mBaaSとは?

先述の通り、FirebaseはmBaaS(エムバース)と呼ばれるサービスの一つです。mBaaSとは「mobile backend as a Service」の略語です。

もともと、バックエンド環境をクラウド上で行えるサービスのことをBaaS (バース)と呼びます。BaaSにモバイル(携帯端末向け)を表す「Mobile」の「m」を足し合わせたのがmBaaSであり、mBaaSBaaSは基本的には同じ意味です。

 mBaaSは、モバイルアプリ開発のバックエンド側のインフラを提供しています。mBaaS の1つであるFirebaseにも、サーバーサイドに必要な機能がすべて内包されているため、エンジニアはバックエンド側の開発コストを抑えつつ、アプリケーション側の開発に集中できます。

Firebaseの最大の特徴はリアルタイム同期

Firebaseの最大の特徴は、リアルタイム同期型のデータベースを使用できる点です。

一般的なサーバー上のデータベースでは、アプリケーションからクラウド上にあるデータベースにアクセスし、直接データを書き込んだり取得したりします。

同期のイメージ

しかしFirebaseの場合は、アプリケーションがデータベースのローカルコピーを保持し、ローカルコピーへの書き込みを行います。ローカルコピーに対する変更は、リアルタイムにサーバー上のデータベースと同期されて、自動的に個々のアプリケーションのローカルコピーがデータベースに統合されます。

リアルタイム同期のイメージ

このようなリアルタイム同期のメリットは、応答の速さやオフライン時の処理に現れます。ローカルコピーはオフラインのものなので、インターネットの接続が不安定な場合でも、アプリケーションの応答の速さに影響が出ません。

また、オフラインでもオンライン時のデータ(ローカルコピー)をそのまま閲覧でき、オフラインで処理した内容もサーバーと接続ができた時点で同期される仕組みなので、ユーザーはインターネット環境に左右されずアプリケーションを使用できるといえます。

ほかにもあるFirebaseを利用するメリット

Firebaseを利用するメリットは、他にも数多くあります。

Firebaseはバックエンド処理をしてくれるため、手間のかかるサーバー管理や保守が不要になります。そのため、アプリの開発者はクライアントサイド機能の開発に集中でき、リソースの節約とエンジニアの負担が大きく軽減できます。

またFirebaseは無料で開始でき、規模に応じた従量課金制を採用しています。使った分だけ支払いをすれば良いので、使い方によってはリーズナブルと感じる人も多いでしょう。

さらにFirebaseは、SwiftObjective-CJavaJavaScriptC++Unityなど複数のメジャーな言語で開発可能です。エンジニアは得意な言語を使ってFirebaseの実装ができます。

Firebaseはアプリ開発に必要な豊富な機能が一通りそろっています。例えば、アナリティクスやデータベース、クラウドメッセージング、クラッシュレポートなど複数の機能が提供されており、自由に組み合わせて柔軟なアプリ開発ができます。具体的な機能については、以下で後述します。

  

Firebaseでできることとは?機能を一挙にご紹介!

Firebaseの主な機能について、概要とできること、そしてメリットについてなど、各機能をわかりやすく紹介します。

Firebase Realtime Database

先述したFirebase Realtime Databaseは、クラウドホスト型NoSQLデータベースです。データはJSON形式で保存され、すべてのクライアントと、ほとんどタイムラグなく同期されます。

一般的なPull型のデータベースとは異なり、データの変更が即座に各クライアントへと通知されるPush型で、各クライアントは発生するイベントを適切に処理することにより、リアルタイムな体験をユーザーに提供できます。 

Google Analytics for Firebase

Google Analytics for Firebaseは、アプリの使用状況とユーザーエンゲージメントについて分析できる機能です。単純なユーザーの行動だけでなく、属性別のユーザーの行動や広告の効果、課金の状況など、最大で500種類の個別のイベントを分析し、レポートを生成することも可能です。

Firebase Hosting

Firebase Hostingは、静的なWebページやWebアプリを簡単な操作でデプロイできる機能です。

HTMLCSSJavaScriptを使用する程度のWebサイトであれば、Firebase Hostingによって簡単に公開できるため、レンタルサーバーを契約したり、サーバーを立てたりする必要はありません。iOSAndroidアプリにも簡単に流用でき、独自ドメインも設定可能です。

Firebase Authentication

Firebase AuthenticationGoogleTwitterFacebookなどのSNSのアカウントを使った認証、いわゆるソーシャルログインや、電話番号認証、メールとパスワードに基づく認証など、アプリで必要な認証を実装するための機能です。

ユーザー認証は、アプリ開発においてニーズのある機能ですが、様々な認証方法に対応したアプリの開発は非常に手間がかかります。しかしFirebase Authenticationでは認証機能を実装するためのSDKが提供されており、これを利用することでユーザー認証機能の開発のコストを低減できます。

Firebase Cloud Messaging

Firebase Cloud Messaging無料でメッセージ(プッシュ通知)を送受信できる機能です。新しいメッセージを受信した時に、クライアントのアプリに通知することができます。

iOSAndroidなど異なるデバイス間へのメッセージの送受信も可能です。また、セグメントを使ったメッセージの送信先の設定もでき、送信したメッセージはダッシュボード上でモニタリングできます。

Cloud Storage

ユーザーがアップロードした画像や動画などのファイルの保管や共有を行い、アプリに組み込むことができる機能です。ユーザー投稿型のSNSのような機能を作成する際には、重宝するでしょう。

データはGoogle Cloud Storageパケットに格納されるため、サーバーからアクセス可能です。

Firebase Console

Firebase ConsoleFirebaseの様々な機能を利用するために使うものです。Firebase Consoleを使うためにはGoogleアカウントが必要です。Console内のNotifications Composerを使用することで、iOSAndroid端末に通知メッセージを送信することもできます。

 

そのほかの新しい機能として、Googleの機械学習機能をアプリとして提供できる「ML Kit」や、開発途中のアプリケーションをテスターに配布できる「App Distribution」、製品やマーケティングのテストを簡単に実行、分析できる「A/B Testing」などの機能があります。

Firebaseは、他にも、クラッシュレポートなど様々な機能を備えています。
(情報は20204月現在のものです)

  

今回紹介したように、Firebaseにはアプリケーション開発に役立つ多彩な機能が備わっています。特に手間のかかるバックエンドの機能が充実しているため、個人や少人数での開発においても役立つでしょう。

Firebaseは無料で始めることができますので、まずはどのようなものか、実際に使ってみるところから始めてみましょう。

目的別!ITスキル講座

基礎的なパソコン操作の知識があればOK!

最新!AWS試験対策講座

日本を代表するデータサイエンティスト辻真吾氏による人気講座

初級者から学べる人工知能講座の決定版