Firebaseはどうして便利なのか?

記事
IT・テクノロジー

Firebaseはどうして便利なのか?

Firebase 関連の記事を中心にお届けしていますが、良く「Firebase はなぜ便利なのか」という質問を頂きます。 この記事では、Firebase がどうして便利なのかを改めて解説してみました。

Web サービスや Web アプリを作るのは意外に大変

Web サービスや Web アプリはインターネット上の Web サーバーを利用して提供するアプリやサービスです。 簡単なサービスの場合、ブラウザー上で動作する Javascript を使えば実現できるので余り問題はありません。

例えば、単位の変換アプリ見たいなものです。メートルの値を入れれば、マイルの値に変換してくれるような物は簡単に実現できます。ところが、特定のユーザーのみに閲覧可能な情報提供サイトを作る場合はどうでしょう? インターネットでは良くある形態の会員制サービスです。

この場合、「特定の人」を識別するために、利用者に登録してもらって、ログイン名とパスワードで利用者の認証(ログイン)を行った上で利用できるようにする必要があります。

そうすると、誰が登録した人かのリストが必要ですし、利用者の認証のためにパスワードを管理する必要があります。

インターネット上のサービスなので利用者は色々な端末(PC やスマホ)から利用するので、この機能を提供するには、インターネット上にデータベースが必要になります。

必要な機能は?

このログイン機能を提供するのに必要な物は:

* ユーザー情報を保存するデータベース
* ユーザー名とパスワードを照合するサービス
* パスワードを忘れた場合にパスワードをリセットするサービス
* 新規ユーザーの登録
などが必要になります。色々な場所からの利用に対応するためにこれらの機能はインターネット上のサーバに作る必要があります。当然ですが、インターネット上にデータベースをおく場合、インターネット上のデータベースの管理も必要になります。

ちょっとした機能ですが、実際にゼロから作るとなるとそれなりに手間と時間がかかりますし、ユーザー情報の管理も行う必要があります。

Firebase はこうした Web サービスや Web アプリを作る上で共通した機能を「部品」として提供しています。 従って、このような基本機能は、最初から作らなくても良いので短期間で必要な Web サービスや Web アプリの開発が可能になります。このような開発は作るだけではなく、作った機能の検証も必要になりますが、このように既存の基本機能を利用する場合、検証にかかる手間も大幅に減らすことが可能になります。

Firebase はレゴのブロックのピースのような物
もう少しわかりやすく言うと、例えば、工作でビルディングを作る場合に全ての部品を自分で作ると大変ですが、利用出来る基本的な部品があれば、工作はかなり楽になります。

木材から作ろうとすると、木を必要な大きさに切ったり加工したりする手間が必要になります。しかし、レゴのようなブロックの部品があれば、それを組み合わせるだけで簡単にビルディングを作れます。 レゴの場合、必要な部品をあらかじめ集めて「キット」として売っています。従って、そのキットを買ってくれば後は説明書通りに組み立てると綺麗な建物も簡単に作ることができます。

Firebase は Web でアプリやサービスを作る際に良く利用される機能をあらかじめ用意して提供しています。 例に挙げたレゴのキットのようにはいきませんが、ユーザー認証の機能(ログイン機能)、データベース、ストレージ、ファンクション、ホスティングなど一通り良く使う機能を上手くまとめて提供しています。 Firebase の機能は Web サービスの場合は簡単な Javascript の記述で利用出来るため、初心者でも簡単に本格的なサービスをしかも短期間で作れる仕組みになっています。

スマホのアプリでも利用可能です
同じ仕組みを、Web だけではなく、スマホのアプリからも利用できます。 スマホの2大勢力の iPhone と Android の両方で、共通のデータベースを利用出来るので、Web サービスや Web アプリと共通のデータベースなどをスマホのアプリと共有できて、しかも、iPhone も Android にも対応できるので、統合されたサービスをインターネットで提供する場合にはとても都合の良い物です。

フリーランスにも優しい!
特に、フリーランスが Web アプリや Web サービスを開発する場合、個人で開発する場合がどうしても多くなります。会社の場合は、データベースやバックエンドに専門の人をアサインして仕事を分担することも簡単です。しかしフリーランスの場合は殆ど全てを自分でやる必要があるために、Firebase のように基本機能の仕組みを利用出来ると、開発する「機能」に集中できるため、短期間で高品質の Web サービスや Web アプリの開発が可能になります。

まとめ
Firebase を利用する一番の理由は、「Web アプリや Web サービスで使う基本機能を作る必要がなくなる」ことです。

Web アプリうや Web サービスを作るために必要な殆どの部品をあらかじめ用意して、Web 開発の場合簡単な Javascript のコードで利用出来るようにしているので、開発に一番重要な「機能の実装」に集中できるのが最大の魅力です。

開発は作るだけではなく、機能がきちんと動作するかの検証作業も意外に時間が取られる物です。 すでに、多くの人が検証して利用している基本機能の部分の検証を大幅に削減できるのも魅力です。

フリーランスの場合限られたリソース(労働力)と時間での開発が要求されるだけに、利用出来るものは利用して短期で高品質のアプリやサービスが提供できるのは助かります。

Firebase は完全に無料というわけではありませんが、使用に応じた課金(従量制)を採用しているので、最初は無料から利用できます。フリーランスの Web 開発を目指す方は検討に値する仕組みだと言えます。
サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す