2025.02.06

Firebaseを使った開発ではfirefooをおすすめしたい

はじめに

筆者はFirebaseが大好きです。開発スピードやランニングコストを考え、個人開発でも実務でもFirebaseをよく採用します。しかし、FirebaseをGUIで操作する際に少し不便さを感じます。そこで、FirebaseをGUIで操作するおすすめツールを紹介します。

Firebaseを使うときの不便さ

FirebaseにはFirebase ConsoleというWebのGUIがあります。Firestoreの中身を見たり書き換えたり、Firebase Authに登録されているアカウントを確認したり削除するときに使います。他にもCloud Storageの中身を見たりRemote Configを書き換えたりなど、Firebaseを使う上で必要な機能はほとんど揃っています。

しかし、Firestore Emulatorと似たUIで、例えばFirestoreでサブコレクションの中身を見るときに何度もクリックしないといけなかったり、一覧で見ることができないため、たまに不便に感じます。他にもFirebase Authで付与されているcustom claimはGUI上から見ることができず、自力で見るには実際にAPIを叩く必要があります。

firefooとは

ひとことで言うとFirebaseを操作できるGUIクライアントなのですが、Firebaseのコンソールよりもより使い勝手が良く、sequelproのように簡単にデータが操作できるツールです。

体験版は14日間使用可能で、個人向けライセンスは月額$9です。筆者は体験期間が終わったらすぐに課金しました。

公式の動画を見るとわかりやすいでしょう。

他にも似たツールとしてはRefi AppやFirestudioなどがあります。

おすすめの機能

Firestoreのクエリ

まずはFirestoreのデータの中身を見ることができます。Firebase Consoleと違い、テーブル形式で見ることができるため、データを一覧で見ることができます。

firefoo table view

他にもツリー形式やJSON形式で見ることもできます。

firefoo json view

データは絞り込みやソートすることができ、これらの操作はGUIで行うこともできますし、JSでクエリを書くこともできます。

firefoo query by script

Firestoreのデータのエクスポート

表示したデータをそのままエクスポートすることができます。エクスポートはCSVとJSONに対応しています。

firefoo export data

今まではFirestoreのデータをテーブル形式で書き出すためにBigQueryにエクスポートして前処理していましたが、もうその必要はありません。

Firestoreへの書き込み

データの書き込みはGUI上からもできますし、JSでクエリを書いて一括操作することもできます。

firefoo update data by script

また、CSVファイルからデータをインポートすることもできます。

firefoo import data from csv

Firebase Authの管理

Firestoreのデータ以外にもFirebase Authの管理もできます。Firebase Auth上に作成されているユーザーを一覧で見ることができます。パスワードはしっかりハッシュ化されています。

firefoo auth password

Firebase Consoleを使っていて特に不便だったことはCustom ClaimがWeb上で確認できないことです。firefooでは当たり前のように表示されています。

firefoo auth custom claim

Firebase Authの削除

Firebase Auth周りでもう一つ不便だったことは、Firebase AuthのユーザーをすべてリセットしたいときにFirebase Consoleからだと一括操作できないことです。

firefooでは操作したいユーザーを選択し、一括で削除することができます。例えばリリース前にテスト用のデータをまとめて消したいときなどに便利そうです。

firefoo auth delete

さいごに

firefooはFirebase Consoleの使い勝手の悪さを解消してくれるツールで、Firebaseを使って開発するすべての方に強くおすすめできます。Firebaseを長年利用してきた筆者としては、欲しかった機能が絶妙に揃っており、「このツールの開発者は本当にわかっているな」と感じました。 これまで開発のためだけに作っていたツールや、必要に応じて生やしていたAPIは、かなり削減できるはずです。無料期間も用意されているので、ぜひ一度試してみてください。