コースの対象者
- Firebaseを多少なりとも使ったことがある人
- Firebaseで効率的に開発を進めたい人
- Firebaseのローカル開発手法を身につけたい人
こちらのコースはFirebaseの基本知識がある前提で話を進めます。
もし一度もFirebaseを使ったことが無いという場合は「Firebase入門」を先に受講することをおすすめします。
コース概要
このコースを受講することで「Firebaseを使ったローカル開発方法」を身につけることが出来ます。
Firebaseでローカル開発を実現するには「Firebaseエミュレータ(Firebase Local Emulator Suite)」というものを利用します。
この講座を通して基本的なFirebaseエミュレータの使い方を学習していきます。
Firebaseエミュレータを使うメリット
Firebaseエミュレータを使うメリットとして、以下のようなことが挙げられます。
- 圧倒的に開発効率が上がる
- 本番環境に影響を与えず自動テスト
- 本番環境に影響を与えず動作確認ができる
特に1つ目に赤字で書いた「圧倒的に開発効率が上がる」というのが一番大きいです。
Firebaseに限らず、通常何かしらのWebアプリ開発、Webページ制作をするとき「インターネットに繋がっていなくても、自分のパソコン上だけで開発を進められる環境(=ローカル開発環境)」というものを用意します。
その理由としては、開発中にインターネット接続を毎回行うと通信のやりとりに時間がかかるからです。
Firebaseには「Cloud Functions(サーバーレス関数)」「Firestore(データベース)」「Authentication(認証)」など、Firebase独自の機能が用意されていますが、
これらの機能を通常の開発と同様に、ローカルで動作確認が出来ると「毎回インターネット接続をしなくても済む」ので開発時間がそれだけでも圧縮されます。
それを実現できるツールが、この講座で学んでいく「Firebaseエミュレータ」となります。
Firebaseエミュレータを使わないデメリット
Firebaseでローカル開発環境を整えない一番大きなデメリットは「Cloud Functionsに実装した関数の動作確認」になると考えています。
例えば、Cloud Functionsの実装をする際、Firebaseエミュレータを使うと以下のように効率的に開発を進める事ができます。
- 実装してから動作確認できるまでの時間が早い(→ローカルで動作確認できるため)
- 不具合が見つかっても「修正→動作確認」のサイクルが短く済む(→ローカルで動作確認できるため)
- 動作確認をするのに毎回「firebase deploy」する必要がない
逆言えば、Firebaseエミュレータを使わないと上記3つが全て反転します。
具体的には以下のとおりです。
- 実装してから動作確認するまでの時間が長い(→デプロイする必要があり、通信速度もローカル環境より遅くなる)
- 不具合が見つかってから「修正→動作確認」のサイクルが長くなる(→修正後にデプロイをしてからじゃないと動作確認できない)
- 動作確認をするのに毎回「firebase deploy」の完了を待つ必要がある
上記3つのいずれの場合でも、Firebaseエミュレータを使わずにCloud Functionsで機能実装を行った場合、動作確認をする前に必ず「firebase deploy」が必要となってきます。
そして、この「firebase deploy」は2~3秒で完了するものではなく、「数十秒〜数分」かかることも珍しくありません。
この「firebase deploy」の時間が積み重なってくると、大量の時間がどんどん奪われることはイメージしやすいかなと思います。
Firebaseの開発を効率化し、少しでも時間をムダにしないためにも、「Firebaseエミュレータ」を有効活用していきましょう!