Firebaseをどうして使うか?

記事
IT・テクノロジー

Firebaseをどうして使うか?

よく質問を頂くことに、「Firebase をどうして使うのか?」という事があります。 一言で答える場合は、「便利だから」というのが一番しっくりくる答えだと思います。 しかし、多くの方はそれでは何か納得できない場合が多いようです。

そこで、この記事ではもう少し詳しく Firebase の何が便利なのかを考えてまとめて見ました。

Firebase でアプリに必要な基本機能がまかなえる

Web アプリだけに限らずアプリを開発する上で必要な基本機能が揃っているのが一番便利な点です。この話は何度か書いていますが、基本的に、HTML/CSS がある程度書けて、Javascript の基本がわかれば、「本格的なアプリが作れる」というのは非常に魅力的です。

1ヶ月勉強すれば Web アプリに必要な技術が身に付く

どんなアプリを作るかのアイディアは必要ですが、アプリを作るために必要なスキルという見方をすれば、1ヶ月も真剣に勉強すれば必要なスキルを十分に身につける事ができます。つまり、本格的なアプリが1ヶ月で作れるようになるという事です。

どれくらい凄いかと言うと、Firebase を使わない場合には、1ヶ月で作るのはかなり厳しいです。理由は、幾つかありますが、Firebase がやってくれる事を実現するのに他のことを勉強する必要があるからです。

* データベース
* バックエンドのプログラミング

例えば、データベースに MySQL などの SQL データベースを準備して、バックエンドのプログラミングに PHP を使うとします。そうすると、SQL のデータベースについて勉強しなければいけませんし、Javascript 意外にも、PHP を勉強しないといけません。初めてプログラミングを勉強する場合、HTML/CSS/Javascript でも勉強することがたくさんあると思う方は多い中、さらに勉強する事が増えてしまいます。

Firebase が提供する機能を作るのも時間がかかる!

ご存知の方も多いと思いますが、データベースを用意しただけでは使えません。 Web ブラウザで動く Javascript のプログラムとデータベースにアクセスするための「しくみ」を作らないとデータベースを使う事ができません。

つまり、自分でこの仕組みをプログラミングする必要があります。

「自分で作る」と言うことは、作るだけではすみません。作った後は必ずテストをして不具合を修正(デバッグ)をする必要があります。当たり前ですが、作ってそのまま問題なく動作するケースはほとんどありません。Firebase が提供している機能を作るだけでも、1ヶ月くらいは直ぐにすぎてしまいます。

一方で、Firebase は既に実装してたくさんの人が実際に利用しています。つまり、非常に完成度の高い機能が簡単に手に入るという事です。

サンプルも多い

Firebase を利用してアプリを作る事例は結構あります。こうした事例をサンプルとして参考にすることで、初心者でも比較的簡単に高度な機能をいきなり実装する事も可能です。

ほとんどの機能はインターネットで検索をすると良い例題やサンプルコードが見つかります。アプリの開発方法をやりながら学ぶことが簡単にできるのは大きな魅力です。

サーバーの管理が不要

Firebase はサーバ側の機能も提供してくれます。自分でサーバを準備したり契約したりする必要はありません。Firebase 側で、サーバーの基本的な管理はやってくれるので、実際のプログラムの実装に集中する事ができます。

しかも、サーバーの信頼性も多くのアプリケーションで十分に高いものを得る事ができます。

Firebase が提供する機能

よく使われている Firebase の機能は以下のような物が提供されています。

* ログイン(ユーザー認証)
* データベース(JSON ベースの使いやすいデータベース)
* オンラインストレージ
* バックエンド処理(ファンクション)
* Web ホスティング
ログイン(ユーザー認証)
ログインの機能自体は簡単にできそうですが、完全な機能を提供するのは意外に大変です。パスワードを忘れてしまった場合の対応や、パスワードの変更、アカウントの登録、更新や削除などといった付随する機能までサポートするとなると初心者が自分で作るのは結構大変です。

また、登録したユーザーのパスワードの管理などもセキュリティを考えると自分で管理するのは結構気を使います。Firebase の場合、基本的なログイン関連の情報は Firebase が面倒を見てくれるのでかなり自分自身でやる事はかなり簡素化できます。

データベース
データベースも、上にも書いている通り、データベースを用意しただけでは利用できません。データベース上にテーブルを作成したりなど、自分でやらなければ行けないことが結構あります。

Firebase の場合、必要な時に必要なデータのコレクションをフロントエンドのプログラムから簡単に管理できるので簡単です。

ストレージ機能
Firebase のストレージ機能は単にファイルなどを保存するスペースを提供するだけでなく、プログラムと連携してファイルを扱えるような仕組みを提供してくれるので応用範囲も広く、アイディアがあれば色々なアプリを実現できます。

バックエンド処理
Web アプリでは、バックエンド処理が必要な場合も多くなります。Firebase では必要に応じてバックエンドの処理の機能も簡単に実装できるのは便利です。しかも、Node.js を利用できるので、フロントエンドもバックエンドも Javascript で記述することができるのは大きな魅力です。

Web ホスティング
Web サイトやバックエンドを利用する場合は、ホスティングをするサーバーが必要になります。Firebase の場合は、Firebase がホスティング機能も提供してくれるので別に用意する必要はありません。

複数のアプリのサポートが可能
Web アプリしか作らない場合にはあまり魅力ではないかもしれませんが、スマホのアプリやデスクトップのアプリからも同じような機能を提供したい場合、Firebase 側は同じものを共有して利用する事もできます。

実はこれはとても便利な機能で、共通のバックエンドを PC、スマホ、タブレットで利用できるので、最初は Web サービスからスタートしてスマホのアプリに拡張していくことができます。頻繁に利用するようになると、Web アプリよりは、専用のアプリにしたほうが利用者にとっては便利に利用できます。

豊富なツール群
基本的な Firebase のプロジェクトの管理は Firebase コンソールが利用できます。ある程度の管理は専用の管理ツールを作らなくても、Firebase コンソールを利用すれば、最初は十分です。後から必要に応じて管理機能を追加してアプリの使い勝手を改善することもできます。

さらに、Google Analytics とリンクさせたり、サーバ側からメッセージを送ったり、基本機能以外のサポートも充実しています。

まとめ
Firebase を利用すると、「少ない学習コスト」で「本格的なアプリ」を簡単に実装できます。アプリに必要な基本要素を Firebase に任せることで、開発者はアプリの本質的な機能に集中して開発ができることが最大の魅力です。

フリーランスの場合、時間もリソースも限られている中で開発する必要があるため、Firabase のような仕組みがあると、高機能のアプリを短期で開発できるので非常に効率よくアプリを開発できます。
サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す