Java 21 が必須になった
firebase-tools 15 で、Java 21 未満のサポートが削除されました。ローカルでデータベースを動かすだけのために、JDK を入れる必要はないはずです。
出典: firebase-tools v15.0.0 リリースノート公式の Cloud Firestore エミュレータを置き換える、Rust 製の単一バイナリです。JVM は要りません。ミリ秒で起動し、公式エミュレータとの parity をテストで確かめます。
curl -fsSL https://hidane.dev/install.sh | sh
まだ利用できません — Phase 0
まだインストールできるものがないため、コピーは無効にしています。最初のリリースからこの行が使えるようになります。
Phase 0 · 調査中 · リリースはまだありません
firebase-tools 15 で、Java 21 未満のサポートが削除されました。ローカルでデータベースを動かすだけのために、JDK を入れる必要はないはずです。
出典: firebase-tools v15.0.0 リリースノート公式エミュレータは、ポートを開くまでに 0.74 秒(CLI 経由では 2.5 秒)かかり、アイドル時に 95 MiB を使います。hidane の目標は 100 ms 未満、50 MiB 未満です。
出典: 実測値と生ログ(英語)リスナーを接続した状態では、公式エミュレータのバッチ書き込みがドキュメントの総数に比例して遅くなります。100k 件では 11 倍です。hidane は、commit のコストが変更した件数だけで決まるように設計しています。
出典: 実測値と生ログ(英語)公式エミュレータの数値は実測値です。hidane の数値は目標であり、結果ではありません。背景は Why hidane(英語)にまとめています。
各 SDK が必要とするトランスポートと、ブラウザが v0.3 になる理由は compatibility(英語)を参照してください。
hidane は公式エミュレータをオラクルとして扱います。同じテストスイートを両方に流し、結果を parity 表として公開します。テストの裏付けがない互換性は主張しません。
parity の結果は、v0.1 のあとにここへ掲載します。
意図的に公式と違える点は parity exceptions(英語)に一覧があります。
サーバー SDK とネイティブクライアント。firebase-admin、Google Cloud の各ライブラリ、iOS、Android、Flutter が firebase-tools の配下で動きます。
GitHub の v0.1 マイルストーンSecurity Rules。
GitHub の v0.2 マイルストーンブラウザのクライアント。ブラウザ上の firebase-js-sdk と Flutter Web に対応します。
GitHub の v0.3 マイルストーン範囲、目標値、リスクは ROADMAP(英語)にあります。
どの配布チャネルもまだ存在しません。下のコマンドは予定している形を示すもので、いまは動きません。
cargo binstall hidaneplannedbrew install hidane-dev/tap/hidaneplannednpm install --save-dev hidaneplanneddart pub global activate hidaneplanneddocker run ghcr.io/hidane-dev/hidaneplannedcurl -fsSL https://hidane.dev/install.sh | shplanned