IT × ライフケア

個人アプリ開発者 — きまいら

Flutter+Dart × AIで、
日常の小さな「困った」をアプリにしています。

失敗も、挑戦も、全部正直に書いています。
ブログで開発の裏側、公開中。

PR

Flutter Web アプリを Firebase Hosting にデプロイする手順【初心者向け完全ガイド】【備忘録】

この記事は約6分で読めます。

Flutter Web で作ったアプリを、Firebase Hosting で公開するまでの手順をまとめます。

私自身、元々アプリ開発の経験はゼロ。介護士として20年働きながら、AIと一緒にアプリ開発を始めた身です。最初は「Firebase?ホスティング?」状態でしたが、何度か失敗しながらなんとか公開までたどり着きました。

この記事は 自分用の備忘録 でもあり、同じように初めてデプロイする人 の参考になればと思って書いています。

1. 環境準備

必要なツールのインストール

まず、Firebase CLI と FlutterFire CLI をインストールします。

bash

# Firebase CLI
npm install -g firebase-tools

# FlutterFire CLI
dart pub global activate flutterfire_cli

私がつまずいた点:最初、npm コマンドが使えず「え、Node.js入ってないの?」となりました。Node.js が未インストールの場合は、公式サイトからインストールしてください。

Firebase にログイン

bash

firebase login

ブラウザが開いて Google アカウントでログインを求められます。ここは素直に進めば OK。


2. Firebase プロジェクト作成

  1. Firebase コンソールで新しいプロジェクトを作成
  2. プロジェクト ID をメモ(例: my-flutter-web-app

既存の設定ファイルがある場合の注意
以前に Firebase を使っていた場合、古い firebase.json.firebaserc が残っていると、意図しないプロジェクトに接続されてしまう ことがあります。不安な場合は一度削除しておくとスッキリします。

bash

del firebase.json .firebaserc lib\firebase_options.dart

(Mac/Linux の場合は rm コマンドを使用)


3. Flutter プロジェクトと Firebase の接続

Flutter プロジェクトのルートディレクトリで以下を実行。

bash

flutterfire configure
  • 先ほど作った Firebase プロジェクトを選択
  • プラットフォームに web をチェック(将来的に Android/iOS も使うなら一緒に選択してもOK)
  • 実行すると lib/firebase_options.dart が自動生成される

このファイルが生成されていれば成功です。中身を見ると、Firebase の設定情報が記述されています。


4. Firebase Hosting の初期化

bash

firebase init

対話形式で以下を選択:

  • Firestore → Yes(データベースを使う予定がなくても、rules/indexes のファイル名はデフォルトで OK)
  • Hosting → Yes
  • Public directorybuild/web(重要!)
  • SPA(Single Page Application)として設定するか? → Yes

生成されるファイル:

  • firebase.json(Hosting の設定)
  • .firebaserc(プロジェクト紐付け情報)
  • firestore.rules(Firestore のセキュリティルール)
  • firestore.indexes.json(複合インデックス設定)

ここでのミス体験:最初、Public directory を build にしてしまい、デプロイ後に真っ白な画面が表示されました。正しくは build/web です。


5. Flutter Web のビルド

bash

flutter build web
  • ビルド成果物は build/web に出力されます
  • この build/web が Firebase Hosting にアップロードされるディレクトリになります

初回ビルドは少し時間がかかります。コーヒーでも飲みながら待ちましょう。


6. Firebase Hosting へデプロイ

bash

firebase deploy
```

成功すると、以下のような Hosting URL が表示されます 🎉
```
https://my-flutter-web-app.web.app

このURLにアクセスすれば、あなたの Flutter Web アプリが世界中から見られる状態になっています。

初めてデプロイできたときの感動
正直、最初は「本当に公開されてるの?」と半信半疑でしたが、スマホで URL を開いたら自分のアプリが表示されて、ちょっと感動しました。


7. Firestore・Storage 設定(必要に応じて)

Firestore のルール設定

firestore.rules を編集して、データベースのアクセス権限を設定します。

bash

firebase deploy --only firestore

複合インデックスの設定

firestore.indexes.json を編集して、必要なインデックスを追加。

bash

firebase deploy --only firestore

Storage を使う場合

同様に storage.rules ファイルを設定して、firebase deploy --only storage でデプロイします。


8. まとめ(最短手順)

おさらいとして、最短手順をまとめます。

bash

# 1. 必要なツールをインストール
npm install -g firebase-tools
dart pub global activate flutterfire_cli

# 2. Firebase にログイン
firebase login

# 3. Flutter プロジェクトと Firebase を接続
flutterfire configure   # プロジェクト選択、web + android など

# 4. Hosting 初期化
firebase init hosting   # public=build/web, SPA=Yes

# 5. Web アプリをビルド
flutter build web

# 6. デプロイ
firebase deploy

これで Flutter Web アプリが Firebase Hosting に公開されます 🎉


💡 つまずいたポイント(正直に書きます)

① Node.js が入っていなかった

npm コマンドが使えず、最初の一歩で止まりました。Node.js をインストールすれば解決。

② Public directory を間違えた

build にしてしまい、デプロイ後に真っ白な画面。正解は build/web

③ 古い firebase.json が残っていた

過去の実験プロジェクトの設定が残っていて、意図しないプロジェクトに接続されてしまいました。初期化前に古いファイルを削除 するのが安全です。

④ ビルドを忘れてデプロイした

「なんで更新されないんだ?」と悩んでいたら、flutter build web を忘れていました。デプロイ前には必ずビルド。


おわりに

プログラミング初心者だった私でも、なんとか Flutter Web アプリを公開できました。

失敗も含めて、全部正直に書く のが私のスタンスです。この記事が、同じように初めてデプロイする方の参考になれば嬉しいです。


📌 この記事を書いた人
IT×ライフケア/きまいら(ペンネーム)
Flutter/Dart で AI と共同開発中。失敗も成功も、全部正直に書いています。

コメント

タイトルとURLをコピーしました