Googleが提供しているFirebaseは、スマートフォンアプリやWebアプリケーションにおける「バックエンド開発」において、スピードの向上とコスト削減を可能にするプラットフォームです。Firebaseには、バックエンドを含め、アプリ開発に役立つ機能が数多く用意されています。
この記事では、Firebaseの概要や特徴、導入のメリット、さらに機能の一覧をわかりやすく解説します。アプリの開発でFirebaseを検討している人は、ぜひ参考にしてください。
公開日:2020年4月14日
専門領域:UIUXデザイナー / PdM
Shunsuke Sawada
UI/UXデザイナー、プロダクトマネージャー、ソフトウェアエンジニア等、色々なロールで10年以上ものづくりに勤しむ。国内外問わずフリーランスで活動しており、新規事業のウェブ開発やモバイルアプリ開発に携わる。
…続きを読むGoogleが提供するFirebaseとは?
Firebaseは、iOS/AndroidアプリやWebアプリケーションの開発に活用できるプラットフォームです。mBaaS(エムバース)の一つであり、2011年にFirebase社がサービスを開始しました。2014年には、Google社に買収されたことで、知名度が上がりました。
Firebaseはアプリ開発における「バックエンド環境」を提供するサービスです。バックエンド環境とは、ユーザーには見えない、アプリの裏側の動作のことを指します。
データのリアルタイム同期など豊富な機能を持ち、利用目的に応じて組み合わせて使用できます。
mBaaSとは?
先述の通り、FirebaseはmBaaS(エムバース)と呼ばれるサービスの一つです。mBaaSとは「mobile backend as a Service」の略語です。
もともと、バックエンド環境をクラウド上で行えるサービスのことをBaaS (バース)と呼びます。BaaSにモバイル(携帯端末向け)を表す「Mobile」の「m」を足し合わせたのがmBaaSであり、mBaaSとBaaSは基本的には同じ意味です。
mBaaSは、モバイルアプリ開発のバックエンド側のインフラを提供しています。mBaaS の1つであるFirebaseにも、サーバーサイドに必要な機能がすべて内包されているため、エンジニアはバックエンド側の開発コストを抑えつつ、アプリケーション側の開発に集中できます。
\文字より動画で学びたいあなたへ/
Udemyで講座を探す >Firebaseの最大の特徴はリアルタイム同期
Firebaseの最大の特徴は、リアルタイム同期型のデータベースを使用できる点です。
一般的なサーバー上のデータベースでは、アプリケーションからクラウド上にあるデータベースにアクセスし、直接データを書き込んだり取得したりします。
しかしFirebaseの場合は、アプリケーションがデータベースのローカルコピーを保持し、ローカルコピーへの書き込みを行います。ローカルコピーに対する変更は、リアルタイムにサーバー上のデータベースと同期されて、自動的に個々のアプリケーションのローカルコピーがデータベースに統合されます。
このようなリアルタイム同期のメリットは、応答の速さやオフライン時の処理に現れます。ローカルコピーはオフラインのものなので、インターネットの接続が不安定な場合でも、アプリケーションの応答の速さに影響が出ません。
また、オフラインでもオンライン時のデータ(ローカルコピー)をそのまま閲覧でき、オフラインで処理した内容もサーバーと接続ができた時点で同期される仕組みなので、ユーザーはインターネット環境に左右されずアプリケーションを使用できるといえます。
ほかにもあるFirebaseを利用するメリット
Firebaseを利用するメリットは、他にも数多くあります。
Firebaseはバックエンド処理をしてくれるため、手間のかかるサーバー管理や保守が不要になります。そのため、アプリの開発者はクライアントサイド機能の開発に集中でき、リソースの節約とエンジニアの負担が大きく軽減できます。
またFirebaseは無料で開始でき、規模に応じた従量課金制を採用しています。使った分だけ支払いをすれば良いので、使い方によってはリーズナブルと感じる人も多いでしょう。
さらにFirebaseは、Swift、Objective-C、Java、JavaScript、C++、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アプリを簡単な操作でデプロイできる機能です。
HTML、CSS、JavaScriptを使用する程度のWebサイトであれば、Firebase Hostingによって簡単に公開できるため、レンタルサーバーを契約したり、サーバーを立てたりする必要はありません。iOSやAndroidアプリにも簡単に流用でき、独自ドメインも設定可能です。
Firebase Authentication
Firebase AuthenticationはGoogle、Twitter、FacebookなどのSNSのアカウントを使った認証、いわゆるソーシャルログインや、電話番号認証、メールとパスワードに基づく認証など、アプリで必要な認証を実装するための機能です。
ユーザー認証は、アプリ開発においてニーズのある機能ですが、様々な認証方法に対応したアプリの開発は非常に手間がかかります。しかしFirebase Authenticationでは認証機能を実装するためのSDKが提供されており、これを利用することでユーザー認証機能の開発のコストを低減できます。
Firebase Cloud Messaging
Firebase Cloud Messagingは無料でメッセージ(プッシュ通知)を送受信できる機能です。新しいメッセージを受信した時に、クライアントのアプリに通知することができます。
iOSやAndroidなど異なるデバイス間へのメッセージの送受信も可能です。また、セグメントを使ったメッセージの送信先の設定もでき、送信したメッセージはダッシュボード上でモニタリングできます。
Cloud Storage
ユーザーがアップロードした画像や動画などのファイルの保管や共有を行い、アプリに組み込むことができる機能です。ユーザー投稿型のSNSのような機能を作成する際には、重宝するでしょう。
データはGoogle Cloud Storageパケットに格納されるため、サーバーからアクセス可能です。
Firebase Console
Firebase ConsoleはFirebaseの様々な機能を利用するために使うものです。Firebase Consoleを使うためにはGoogleアカウントが必要です。Console内のNotifications Composerを使用することで、iOSやAndroid端末に通知メッセージを送信することもできます。
そのほかの新しい機能として、Googleの機械学習機能をアプリとして提供できる「ML Kit」や、開発途中のアプリケーションをテスターに配布できる「App Distribution」、製品やマーケティングのテストを簡単に実行、分析できる「A/B Testing」などの機能があります。
Firebaseは、他にも、クラッシュレポートなど様々な機能を備えています。
(情報は2020年4月現在のものです)
今回紹介したように、Firebaseにはアプリケーション開発に役立つ多彩な機能が備わっています。特に手間のかかるバックエンドの機能が充実しているため、個人や少人数での開発においても役立つでしょう。
Firebaseは無料で始めることができますので、まずはどのようなものか、実際に使ってみるところから始めてみましょう。
React Native, Firebase, Expo でアプリ開発をゼロから始めよう!
React NativeとExpoを使ったモバイルアプリ開発のオールインワン講座。UIデザイン・開発・リリースまで、アプリ開発の全行程を一気に身につけましょう!<React Hooks 対応 / Git も学べる>
\無料でプレビューをチェック!/
講座を見てみる評価:★★★★★
ボリュームが多い分、デザインを行うところからリリースまでを一通り手を動かしながらしっかりできるので、モバイルの開発をこれから行う人にとってとても良い経験になります。iOSとAndroidの両方に触れられるところもとても良いです。
評価:★★★★★
全体的にとてもわかりやすく説明されており、React Nativeの技術についてしっかり学ぶことができた。また、React Native関連の技術は仕様の変更などが頻繁に行われているが、バージョンの違いによる仕様の違いについてもフォローしてくれていた。わからない部分などの質問をした際にも迅速に対応していただき非常に助かった。
最新情報・キャンペーン情報発信中