目次
Firebaseとは
Firebaseとは、Google社が提供している、スマートフォンやWeb向けのアプリケーションを開発するプラットフォームです。
Firebaseは、mBaaSですので、バックエンドサービスの作成や管理、保守をする必要がなくなります。
そのため、スマートフォンやWeb向けアプリケーションを、高品質かつ素早く開発することができるようになるのです。
mBaaSとは
mBaaSとは、クラウドサービスの一種で、スマートフォン向けのアプリケーションで必要となるサーバー側の様々な機能を提供してくれるサービスのことを言います。
スマートフォンのアプリケーションでよく見かけるプッシュ通知や課金・決済、アカウント管理などがイメージしやすいのではないでしょうか。
BaaSとはこういったものを開発者に丸ごと提供するサービスのことを言い、そのモバイル向けをmBaaSと言います。
Firebaseの気になる機能14選
続いて、Firebaseでは気になる14の機能があります。
Realtime Database、Cloud Messaging、Google Analyticsなど、これらの14の機能とはどういったものなのか、1つ1つわかりやすく説明していきます。
Firebaseの気になる機能1:Realtime Database
Firebaseの気になる機能の1つ目は、Realtime Databaseです。
Realtime Databaseとは、クラウドホスト型のデータベースに接続している全ユーザーとリアルタイムで同期する機能で、データを変更するたびに、数ミリ秒以内に自動で変更を受信してくれます。
これによりネットワーク処理などのコードを考える必要がなくなり、より素早くアプリケーションを開発することができるようになります。
Firebaseの気になる機能2:Cloud Messaging
Firebaseの気になる機能の2つ目は、Cloud Messagingです。
Cloud Messagingとは、無料で様々なプラットフォームからメッセージを送受信することができる機能でこのメッセージとは、わかりやすく言うとプッシュ通知のことです。
無料で送受信できるだけでなく、異なるデバイスへのメッセージの送受信や、メッセージをダッシュボード上でモニタリングできるところも便利です。
Firebaseの気になる機能3:Google Analytics
Firebaseの気になる機能の3つ目は、Google Analyticsです。
Google Analyticsとは、アプリケーションの使用状況やユーザーエンゲージメントなどを分析できる機能です。
Google アナリティクスが中核となっており、単なるユーザー行動や、属性別ユーザー行動など、最大500種類のイベントを分析し、無制限にレポートを作成できるためマーケティングやパフォーマンス改善に便利な機能です。
Firebaseの気になる機能4:Hosting
Firebaseの気になる機能の4つ目は、Hostingです。
Hostingとは、静的コンテンツや動的コンテンツなどを、素早く安全に提供できる機能で、例えばアプリケーション内で利用規約を作ろうと考えたとき、わざわざページを作るのではなく、既存のWebページを入れたいと考えたことはないでしょうか。
そういったときにこの機能を使えば、高速かつ安全にページへ飛ばしてくれるため、実現が容易になるのです。
Firebaseの気になる機能5:Authentication
Firebaseの気になる機能の5つ目は、Authenticationです。
Authenticationとは、ユーザーIDの認証を行うことができる機能でありこれによって、パスワードや電話番号、GoogleやTwitterのアカウントを利用したユーザーIDの認証を簡単に導入することができます。
ユーザー認証はかなりニーズがありますから、開発したいアプリケーションによっては重要な機能となるでしょう。
Firebaseの気になる機能6:Cloud Storage
Firebaseの気になる機能の6つ目は、Cloud Storageです。
Cloud Storageとは、ユーザーが作成したコンテンツを保管、共有し、アプリケーションに組み込むことのできる機能です。
SNSのようにユーザーがデータをアップロードしたり、ダウンロードするような機能を作る場合には使いやすく、またGoogle側がデータを保管するため、セキュリティ面がしっかりしているところも安心できます。
Firebaseの気になる機能7:App Distribution
Firebaseの気になる機能の7つ目は、App Distributionです。
App Distributionとは、Trusted Tester(テスター)にアプリケーションを簡単に配布することのできる機能です。
テスターを利用して開発途中のアプリケーションを配布することができるため、早い段階からフィードバックを得られ、異なるプラットフォームのプレリリース版を同じ場所で管理することも可能です。
Firebaseの気になる機能8:Cloud Functions
Firebaseの気になる機能の8つ目は、Cloud Functionsです。
Cloud Functionsとは、サーバーレスフレームワークで、Firebaseの機能とHTTPSのリクエストをトリガーにしたイベントに応じて、自動的にバックエンドコードを実行する機能です。
「アプリケーションにサインインしたらSMSにログイン履歴を送信する」といったように、外部サービスと連動する機能を作る場合に活躍します。
Firebaseの気になる機能9:Cloud Firestore
Firebaseの気になる機能の9つ目は、Cloud Firestoreです。
Cloud Firestoreとは、Realtime Databaseの上位互換ともいえる新たなデータベースで、Realtime Databaseとは違ってスケールアウトにも対応しており高速です。
シンプルな1回限りの取得クエリを効率的に実行するようにも設計されているため、状況に応じて、素早くかつ高機能なクエリ処理が可能です。
Firebaseの気になる機能10:Test Lab
Firebaseの気になる機能の10個目は、Test Labです。
Test Labとは、クラウドベースでアプリケーションのテストを行うことができる機能です。
1回のオペレーションで、様々なデバイスや構成でアプリケーションをテストすることができるため、ユーザーのデバイスでアプリケーションがどのように動作するのかが、簡単かつ正確に把握できるようになります。
Firebaseの気になる機能11:Remote Config
Firebaseの気になる機能の11個目は、Remote Configです。
Remote Configとは、アプリケーションをアップデートせずとも、動作や外観などを簡単に変更することのできる機能で、例えばこの機能を使うことで、A/Bテストなどを実施する際にユーザーがアプリケーションのアップデートを挟む必要がなくなります。
これにより開発者、ユーザーともに気軽にイベントを開発・実行できるようになります。
Firebaseの気になる機能12:Dynamic Links
Firebaseの気になる機能の12個目は、Dynamic Linksです。
Dynamic Linksとは、リンク先をユーザーの状況に応じて最適に合わせる機能です。
例えば、スマートフォンにアプリケーションがインストールされている場合にリンクを開くとそのアプリケーションへと飛ばされますが、インストールされていない場合に開くとインストール画面へと飛ばされる、というような仕組みを作ることができます。
Firebaseの気になる機能13:Crashlytics
Firebaseの気になる機能の13個目は、Crashlyticsです。
Crashlyticsとは、リアルタイムにクラッシュをレポートしてくれる機能です。
また、アプリケーションの品質低下に伴う問題を追跡、優先順位をつけるだけでなく、問題の重大度が急増した場合にアラート受け取ったり、コード内でクラッシュの原因となっている行を特定したりすることも可能という、問題の発見から修正まで役立つ便利な機能です。
Firebaseの気になる機能14:Firebase MLKit
Firebaseの気になる機能の14個目は、Firebase MLKitです。
Firebase MLKitとは、Googleの機械学習の機能を、AndroidやiOSのアプリケーションとして提供できる機能で、テキストの認識や言語識別、バーコードスキャンなどの動作は、MLKitで簡単に組み込むことができます。
また、デバイスにもクラウドにも対応しているので、ネットワーク接続が無い場合でも機能します。
Firebaseを導入する3つのメリットとは?
続いて、Firebaseを導入するかどうかで迷っている方に、Firebaseを導入するメリットを3つご紹介します。
ここまではFirebaseの機能についてをご説明しましたが、メリットとはどんなものがあるのか疑問に思った方もいるのではないでしょうか。
そういった方は、ぜひこちらで紹介するメリットを参考にしてみてください。
Firebaseのメリット1:サーバー管理や保守が不要
Firebaseを導入するメリットの1つ目は、サーバー管理や保守が不要という点です。
Firebaseでは、バックエンド処理を代わりに行ってくれるため、サーバーの管理や保守といった面倒な作業が不要になり、これによりインフラ管理を省略できます。開発者の負担がかなり軽減されるのは、十分なメリットと言えるでしょう。
また、サーバー管理や保守の必要が無くなるため、コスト面で節約できるのもメリットと言えます。
Firebaseのメリット2:好きな機能を組み合わせることができる
Firebaseを導入するメリットの2つ目は、好きな機能を組み合わせることができる点です。
ここまでご紹介してきた機能を、必要な分だけ組み合わせて使えるのは色々な意味で便利になり、例えば、Firebaseでは開発に必要な機能を選ぶことができるため、全ての機能分のお金を払わずに利用することが可能です。
また、機能を組み合わせることで難しい仕組みも実現できますので、これは大きなメリットと言えるでしょう。
Firebaseのメリット3:複数の言語での開発ができる
Firebaseを導入するメリットの3つ目は、複数の言語での開発ができるという点です。FirebaseではSwift、Java、JavaScript、Objective-C、C++、Unityなどの様々な言語に対応しています。
これによって、開発者の得意な言語でアプリケーションを開発することができるようになります。
これだけでも格段に作業効率が上昇するため、より素早い開発が可能となるでしょう。
Firebaseを導入してみよう
Firebaseは、簡単に導入することができる上に、開発スピードを上げる様々な便利機能がたくさん備わっています。
アプリケーション開発を今までよりも簡単にするために、今回ご紹介した様々な機能やメリットを参考に、Firebaseを導入してみてはいかがでしょうか。
インフラエンジニア専門の転職サイト「FEnetインフラ」
FEnetインフラはサービス開始から10年以上『エンジニアの生涯価値の向上』をミッションに掲げ、多くのエンジニアの就業を支援してきました。
転職をお考えの方は気軽にご登録・ご相談ください。