こんにちは、つよぽん(@tsuyopon_xyz)です^^
Firebaseをお使いの方で、
「Firebaseエミュレータを知らないよ」
という方は、
ぜひ、この記事を最後まで
読み進めることをおすすめします。
というのも、
Firebaseエミュレータを活用できているかどうかで、
トータルの開発時間に雲泥の差が出てくるからです。
具体的な開発時間の差を挙げるとしたら、
中規模〜大規模のアプリ開発をしていると想定した場合、
Firebaseエミュレータを使っているか使っていないかで
「数時間〜数十時間」レベルで
開発時間が変わってくるでしょう。
そのため、
もし開発時間をできるだけ無駄にしたくない場合は、
今回説明するFirebaseエミュレータは必ず使ったほうが良いです^^
それでは前置きが少し長くなってしまったので、
早速本題に入っていきたいと思います。
記事の後半では、Firebaseエミュレータを動画で学べる「Firebaseエミュレータ講座」の紹介もしているので、
Firebaseエミュレータ講座に興味がある方は、特に後半の方をご覧になっていただけたらと思います。
目次
毎回「firebase deploy」してませんか?(Firebaseエミュレータ使えば最低限のデプロイで済む)
Webサービスを開発をするときに、
開発効率を上げるには、
できるだけローカル環境で
開発できる状態を作ることです。
もちろんFirebaseを使った開発も
その例外ではなく、
ローカル環境で動作確認できた方が
圧倒的に開発効率は上がります。
開発効率が上がる理由は単純で、
以下のとおりです。
-
時間のかかる「firebase deploy」を毎回実行しなくても良い(ローカル環境でそのまま動くから)
-
データベース(Firestore)とのデータのやりとりが超早い(ローカルだから)
-
ユーザー作成、ログイン(Auth周り)の処理も超速い(ローカルだから)
もう少し別の言い方でまとめると
以下のような感じとなります。
「インターネットを介した
Firebaseとのやりとりが無くなる分、
ネットワークの遅延が無くなる」
「インターネットに繋がってない状態でも開発が進められる」
ローカルでFirebase開発する手段「Firebaseエミュレータ」
ここまで
「ローカルでの開発環境を整えると
開発効率が格段に上がる」
「Firebaseを使った開発も
その例外では無い」
という話をしてきました。
そのような話を聞いていると、
こんな疑問を持たれたかもしれません。
「Firebaseでローカル開発するには
どうすれば良いの?」
結論を話すと、
「Firebaseエミュレータ」を使うことで
ローカル環境でFirebaseを動かすことができます。
Firebaseエミュレータは、正式には「Firebase Local Emulator Suite」と呼びます。
詳しくは以下リンク先のドキュメントを
見ていただけたらと思います。
↓
https://firebase.google.com/docs/emulator-suite?hl=ja
Firebaseエミュレータの学習講座を作りました(講座ページへのリンク有り)
Firebaseエミュレータは
Firebaseの機能をローカルで
動かすための機能です。
具体例を挙げると、
以下のようなエミュレーター機能が
用意されています。
- Cloud Functions
- Firestore
- Realtime Database
- Hosting
- Authentication
- Pub/Sub
ただ、
文章で説明だけされても
エミュレータのイメージが
掴みづらいかなと思ったので、
簡単なアプリの実装を通して、
一緒に手を動かしながら学べる
「Firebaseエミュレータ講座」
という動画講座を作りました^ ^
学習コースの概要を解説した動画を撮ったので、
以下の動画をご覧になっていただけたら、
どんなスキルが身につくか
イメージしやすいかなと思います。
もし、こちらの動画を観て
「Firebaseエミュレータ便利そう!」
「こんな機能があったの知らなかった!」
「Firebaseエミュレータ使えるようになりたい!」
「Firebaseエミュレータ講座で、具体的にどんなことが学べるか知りたい!」
と興味を持っていただけたら、
以下のボタンより「Firebaseエミュレータ講座」の学習ページをご覧いただけたらと思います^^
モニター受講していただいた方の口コミ(一部抜粋)
この講座を作成しているときに、一部の方にモニターとして受講していただいたところ、嬉しい声を頂いたので共有いたします。
つよぽんさんの解説はマジでわかりやすい!
ターミナルの操作ですら一つ一つ解説してくれる😭
Firebase使いこなします! https://t.co/EmwbyMR3qi— 悠来 迅@アイコン作りたい (@shin9_oki) April 25, 2021
つよぽんさんの熱心さと丁寧さがしっかり伝わってくる内容で、手を動かして学んでいくには最適です。
僕自身「エミュレーターの設定周りまではできたけど、その先は具体的にどうすればいいの?」となっていたので、emulatorsを起動してから先の部分を実装して学んでいけるのが非常に有益です。 https://t.co/LfdjSJztGI— AKI@ 旅人からITエンジニア “旅×プログラミング×英語” (@gorinesia) April 25, 2021
エミュレータ 講座受講しました!週末では終わらないくらい充実のボリュームです。
そして流石の安定のわかりやすさです!! https://t.co/TJAzAVIl3L— Ken @ LINEBOTer (@piyo_rinco) April 25, 2021
分かりやすい。基本的な環境構築から実装が始まるため、つまづかない。もしわからなくてもTwitterで聞いても答えてくれることがほとんどなので、絶対に登録するべき!! #Firebaseエミュレータ #駆け出しエンジニアと繋がりたい https://t.co/KTPMNbSoYA
— makoto@外線の電気工事士/プログラミング初学者 (@OfLife192) April 24, 2021
めちゃくちゃわかりやすかったです。こういう講座は中々ないので大変貴重でした!! https://t.co/pCDb5dkmPX
— 闇堕ちsyam/絶望信教信徒 (@yamiochisyamu) April 25, 2021
FrontHacksもだけど本当にわかりやすいんだよなありがたい https://t.co/QvhWty5kp0
— shohei (@shouhei65605762) April 24, 2021
今後のモニター募集情報を受け取りたい方へ
無料モニター募集は「LINE登録者」「メルマガ登録者」向けに行いました。
今後も新しい講座を作る際には、LINE登録者、メルマガ登録者向けに無料モニター募集を行う予定でいます。
もし、今後の講座の無料モニターに参加されたい場合は、以下の「LINE」「メルマガ」の両方にご登録いただけたらと思います^^
「LINE・メルマガ」両方に登録を勧める理由は、LINEの場合は1ヶ月あたりの配信上限が月に1000通までなので、配信上限数の問題で案内を送れなくなる可能性があるためです。
メルマガの方では配信上限数が無いため、確実に情報を受け取りたい場合はメルマガを登録していただき、
リアルタイムですぐに情報を確認できるようにした場合は、LINEも合わせて登録いただけたらと思います。
追伸
この講座を作ろうと思ったきっかけは、
Firebaseの相談を複数の方から受けた時でした。
相談者の方から、
実装した機能の動作確認をするのに、
毎回「firebase deploy」しているというのを聞いて、
「毎回デプロイするのは
時間がかかって効率悪いですよ。
Frebaseエミュレータというのを使うと
ローカル環境で動作確認できるのですが
こちらご存知ですか?」
と話したところ、
相談者の全員が
「それ知らなかったです」
と回答されてたので、
結構知らない人が居るのかなと思い、
この講座を作ることにしました。
無料メルマガ講座に登録しようとしたのですが、失敗します。一度登録をしたあとに、購読を解除して再度登録をしようとしたのですが、登録を弾かれてしまします。もう一度、勉強を頑張りたいと思い、再度、登録をしたいです。どうぞよろしくお願い致します。
ご連絡ありがとうございます^^
今さきほど手動で「解約→購読」に状態を変更いたしました。
登録直後の状態と同じになってしまうため、1日目からの配信となってしまいますがご了承いただけたらと思います。