Firebaseとは?概要や特徴をわかりやすく解説【初心者向け】
Firebaseってよく聞くけど、どういったサービスなんだろう?
簡単に概要や特徴を知りたいです。
こういった疑問に答えます!
Firebaseについて初心者向けに分かりやすく解説します。
Firebaseとは何か、メリットとデメリット、代表的なサービス、料金について簡単にまとめています。
本記事を読み終えると、基本的なFirebaseについて理解できるようになります。
Firebaseとは
Firebaseを一言でいうと、
「サーバーの開発が不要で、フロント側だけでアプリ開発ができるクラウドサービス」です。
Firebaseとは、Googleが提供するクラウドサービス「MBaaS(Mobile Backend as a Service)」です。
MBaaSとは、モバイルアプリケーションのサーバーサイドで使われるロジックを提供するサービスです。
メリット
Firebaseの概要について説明したので、本章ではFirebaseを使うことのメリットを解説します。
サーバーサイドの開発コスト・設計・工数などを削減できる
MBaaSを使えばサーバーサイドの開発(データベースへの保存・更新・削除・計算など)作業をする必要がないです。
よって、Firebaseを使うことで開発側は効率よく、スピーディーにアプリを開発できます。
サーバーの管理・保守などを気にせずに、クライアントサイドの開発だけに集中できます。
また、メンテナンスなどの作業はGoogle側が代行してくれるので、開発側では手間やコストもカットできます。
モバイルアプリ開発に特化している
他のMBaaSと違う点は、Firebaseを導入することでモバイルアプリを開発するために必要なものがほとんど揃います。
Firebaseは、Swift、Objective-C、Java、Kotlin、JavaScript、C++、Unityなど複数の言語での開発が可能です。
また、JavaScriptのフレームワーク「React Native」にも対応しています。
どちらかというと、シンプルで小規模のモバイルアプリの開発に向いています。
デメリット
Firebaseの概要とメリットについて説明したので、本章ではFirebaseを使うことのデメリットを解説します。
データが複雑だったり、大規模なサービスだと扱いづらい
FirebaseはNoSQLを使用しているゆえのデメリットがあります。
NoSQL(Not only SQLの略)とは、
RDB(リレーショナルデータベース)ではないデータベースで、SQL言語を使用しなくてもデータベースを使用できます。
なぜ、NoSQLだとデメリットがあるのか、NoSQLとRDBの違いをふまえ説明します。
NoSQLとRDBの違い
NoSQLとRDBの違いを解説した上で、NoSQLを使用しているゆえのデメリットを解説します。
NoSQLとRDBの主な特徴は以下になります。
NoSQL
単純なデータに向いている
データの処理速度も速い
データの一貫性やバリデーションといった機能がない
サーバーを水平分散させる事ができる
複雑なデータは不得手
RDB
複雑なデータに向いている
データ処理に一貫性がある
複数のテーブルを連結させることで、追加・削除・更新・検索といった処理コストが低減
NoSQLだと、データを複数人で更新したり、複雑化してくると扱いづらくなる(「N+1問題」など)可能性があります。
NoSQLは、RDBと異なり、参照や更新・削除には弱く、ノットイコールなクエリ、Like検索などもできません。
よって、大規模かつ複雑なアプリケーションにはあまり向きません。
開発する際には、できる限り簡単なクエリ操作でデータを取得できる設計にする必要があります。
代表的なサービス
Firebaseでは、たくさんの機能がありますが、いくつかの機能を紹介します。
※他のサービスは公式サイトでご確認ください
Firebase Realtime Database
NoSQLのデータベースで、ユーザー間でやりとりされるデータをリアルタイムで保存や同期ができる機能です。
例えば、パソコンとスマホで同じアプリを立ち上げていても、パソコンで更新・編集した内容はクラウドに保存された後、各端末に同期され、ユーザー間のリアルタイムでの共同作業が可能です。
Firebase Authentication
いわゆる、ユーザー認証機能です。
メールアドレス、パスワード、電話番号、SNSアカウント(Facebook、Twitter、GitHub、Googleなど)を使用した認証機能があります。
セッションも管理されるため、ブラウザやアプリを再起動してもログイン状態を維持することができます。
また、「Firebase Authentication SDK」 を使って、 1 つまたは複数のログイン方法を手動でアプリに統合もできます。
iOS、Andoroid、ウェブのすべてで対応可能です。
Googleアナリティクス(Firebase向け)
アクセス解析ツールの「Googleアナリティクス」が組み込まれています。
アプリ内でのユーザーの行動が把握できるので、データの取得・分析、マーケティング方法やアプリの改善に役立ちます。
「Firebase SDK」を使用すると自動でデータ収集が開始され、解析データはダッシュボードで確認できます。
料金体系
Firebase自体は、「Sparkプラン」を選べば無料で利用できます。
そして、アプリの規模や機能の拡張応じて、従量課金制に移行できる仕組みなので、料金は異なります。
Firebaseでの開発は、大規模なアプリより小規模なものに向いていると言えます。
まとめ
・サーバーの開発が不要で、フロント側だけでアプリ開発ができるクラウドサービス
・サーバーサイドの開発コスト・設計・工数などを削減できる
・運用データが複雑で、大規模なアプリ開発には向かない
・NoSQLでリアルタイムでデータの同期、ユーザー認証機能、アプリ解析ツールなど様々なサービスがある
・無料で利用できる(アプリの規模によって従量制課金システムあり)
アプリを効率よく、スピーディーに開発できる便利なクラウドサービスです。無料で使えるなので、一度使用してみるのもいいと思います!
最後まで読んでいただきありがとうございます!
少しでもこの記事を読んで役に立てたら嬉しいです!
感想やご意見あれば、Twitter(@WAKUZ0_2)までDMをいただけるとうれしいです!