Firebaseはインスタント食品みたいなもの!
Firebase を一言で例えるなら、料理でいうインスタント食品のような物です。 基本的な味付けは済んでいて、温めるだけなど簡単な作業でそこそこ美味しい食事になりますよね。Web 開発でも、Firebase があれば、基本的な機能(味付け)はできているので後は、上手くまとめる(綺麗に盛り付ける)ことをやれば、短時間で Web アプリや Web サービスを形にすることができます。
もっと本格的に料理をしたい人の場合は、さらに深く料理を学ぶように、プログラミングももっと本格的に学びたい人は、さらに深く学んでいけばエキスパートに慣れるということです。
Firebase の機能を使えば実装は簡単に!
データベースやユーザーの認証、Web ホスティングなど、Web アプリや Web サービスを開発する上で、基本になる機能をまとめてサポートしているのが Firebase です。
Firebase を利用すると、個々の細かいところを気にしないで必要なアプリやサービスの機能を実現することに集中できます。Firebase の機能は簡単な Javascript の関数(メソッド)を呼び出すだけで使えるので、深い専門知識はなくても本来ならばきちんと学習しないと実装が難しい、データベースやユーザーの認証が初めてでも簡単にアプリやサービスに取り込めます。
「作る」ことに集中するのが最初のステップです
Web アプリや Web サービスを作るには、意外にたくさんのことが必要です。
HTML、CSS、Javascript をある程度勉強しても、実際に Web サービスと Web アプリとして完成させるためには、単に勉強しただけでは中々最後まで行かないのが現実です。
ユーザーのログインだけでも、最初から作るのは意外に大変です。
* ログイン情報(E-Mail アドレスやパスワード)を入力するフォームの作成
* ログイン情報を照合して、登録された E-Mail やパスワードを確認する(認証)
* パスワードを忘れた場合のリカバリー
* パスワードの変更
* 新規ユーザーの登録
* 既存のユーザーの削除
加えて、ユーザー情報を保存するデータベースの準備と実装やデータベースにフロントエンド(Web ブラウザ)からアクセスする仕組み(バックエンド)などが必要になります。
これだけでも、ゼロから開発するとなると結構の作業量です。しかも、本来のアプリやサービスの機能とは別に作る必要があります。
例えば、SQL のデータベースを準備して PHP のバックエンドを使って実装するとすると、そのために最低限必要な知識は Javascript と HTML/CSS の他に
* SQL の基本知識
* PHP のプログラミング言語 が必要になります。
それに加えて、開発環境だけだとしても、SQL のデータベースをインストールして、PHP の実行環境を作って、さらに開発用(或いは本番用の Web サーバー)を導入する必要があります。 これらをまとめたパッケージ(XAMPP など)もありますが、いずれにしても初心者が自分でやるには少しハードルが高いのは明らかです。
Web サービスや Web アプリを作るまでの道のりが長くなる!
例えば、会員専用の Web サイトつまり、登録したユーザーのみが閲覧可能な Web サイトを作りたいとします。
Firebase のような既存の仕組みを使わないで作るとすれば、上に書いたような準備と学習をしてようやく本題の会員制の Web サイトに辿り着くわけです。
それまでにかかる時間を想像してみてください。PHP を勉強して、SQL のデータベースを勉強するだけでも、余裕で数ヶ月になる場合が殆どです。
「調べならがら作れば良い」と思うかもしれませんが、それができる人の場合の殆どは、この方法を取らないと思います。まずは、Firebase のような既存の仕組みを見つけて作る方法を見つけて取り組むと思います。
一方で、ログインの機能を Firebase に任せる事ができれば、後は、サイト作りに集中できます。必要な知識も基本的には、Javascript と HTML/CSS で概ね対応できます。
必要ならば将来置き換えれば良い!
もちろん、Firebase は完璧な方法ではありません。アクセス数や使用容量によっては利用料金が発生したり、作るアプリやサービスによって課題もたくさん出てきます。 そうした、問題や課題は、まずは基本機能を実現した上で、置き換えたりして解決していくことでより良いアプリやサービスに育てる事ができます。
また、Firebase の良い点も悪い点もやっているうちに見えてきます。
これが、実力をつけていく一番の近道になります。
仕事には期限はつきものです!
会社で仕事をしている方は、既にお分かりかと思いますが、仕事には必ず期限(納期)があります。したがって、期限内でいかに要求される仕事を完了させられるかがポイントになるといえます。
いくら良い仕事をしても、期限内に完了できない場合は、プロの仕事としては失格ということになります。
ところが、不確定要素(要はわからないこと)が沢山あると先を見通すのが難しくなります。言い換えるとほとんどの場合、想定より時間がかかるのが普通です。 なるべく不確定要素を取り除くことが、仕事(ビジネス)を成功させる秘訣であることはいうまでもありません。
Firebase を利用することは、そういう不確定要素を減らすということに他なりません。 Web サービスや Web アプリでたくさんの人が必要としている機能を予めまとめたのが Firebase です。
まずは、これを利用して短期間で何かを作れるようになる!これが、プログラマ、Web 開発者としてのスキルを身につける一番手っ取り早い方法の一つということになります。
まとめ
Firebase を利用すれば Web アプリや Web サービスを簡単に作れるというのは多くの方が認める事だと思います。しかし、他の方法と比べてどちらが良いのかと考えてしまう場合もとても多いと思います。
実際、Firebase にも課題や欠点はありますし、完璧な方法でないことも事実です。
しかし、Web 開発者としてのスタートを早く切りたいと考えている方には、まずは Firebase を使って「やってみる」ことをお勧めしています。
やってみることで、「作れるように」なりますし、不確定要素を減らすことで、一番必要な勉強(Web 開発では、HTML/CSS と Javascript)の学習に専念する事ができるので、結果的に一番最速で「実務ができる」方法だといえます。
少し、HTML/CSS と Javascript がわかってきたら、途中でも良いので Firebase を使って何かを作ることをお勧めします!