カテゴリ: FlutterのWeb・デスクトップ対応 更新日: 2026/05/19

FlutterのWebアプリをデプロイする方法まとめ!Firebase Hostingでの公開手順も解説

301
FlutterのWebアプリをデプロイする方法まとめ(Firebase Hostingなど)

先生と生徒の会話形式で理解しよう

生徒

「FlutterでWebアプリを作ったんですが、インターネットに公開するにはどうすればいいですか?」

先生

「それならWebアプリをビルドしたあとに、Firebase Hostingなどのサービスを使ってデプロイする方法がありますよ。」

生徒

「Firebase Hostingって簡単に使えるんですか?初心者でも設定できますか?」

先生

「はい、Flutter Webの公開にぴったりなサービスです。Firebase Hostingの他にもいくつか方法があるので、まとめて解説していきますね。」

1. Flutter Webアプリのデプロイとは?

1. Flutter Webアプリのデプロイとは?
1. Flutter Webアプリのデプロイとは?

Flutterで作ったWebアプリをインターネット上に公開することを「デプロイ(deploy)」と呼びます。作成したアプリを誰でもアクセスできるようにするには、まずFlutterでWeb向けにビルドしたあと、ホスティングサービスにアップロードする必要があります。

Flutter Webのデプロイ方法としては、以下のような選択肢があります:

  • Firebase Hosting(公式にも紹介されている定番)
  • GitHub Pages
  • Netlify
  • Vercel
  • 自前のWebサーバーやVPS

この記事では、特に初心者でも使いやすいFirebase Hostingを中心に、Flutter Webのデプロイ方法を解説していきます。

2. Flutter Webアプリのビルドを行う

2. Flutter Webアプリのビルドを行う
2. Flutter Webアプリのビルドを行う

まずFlutterで作成したWebアプリをbuild/webというフォルダにビルドします。これによって、ブラウザ上で動作するHTML・JavaScript形式のファイルが生成されます。


flutter build web

このコマンドを実行するだけで、Web公開に必要なファイルが一式準備されます。

3. Firebase Hostingでのデプロイ手順

3. Firebase Hostingでのデプロイ手順
3. Firebase Hostingでのデプロイ手順

Firebase Hostingを使えば、Flutter Webアプリを無料で簡単に公開できます。以下の手順で行います。

ステップ1:Firebase CLIのインストール

Node.jsがインストールされた環境で、以下のコマンドを実行します。


npm install -g firebase-tools

ステップ2:Firebaseプロジェクトへのログイン


firebase login

Googleアカウントでログインします。

ステップ3:Firebaseプロジェクトの初期化


firebase init

いくつかの選択肢が出てくるので、次のように選択します:

  • Hosting: Configure files for Firebase Hosting and (optionally) set up GitHub Action
  • プロジェクトの選択:既存のFirebaseプロジェクトを選択(なければコンソールから作成)
  • publicディレクトリにbuild/webを指定
  • シングルページアプリケーションかどうか:Yes

ステップ4:Flutter Webアプリをデプロイ


firebase deploy

これで、Firebase Hosting上にFlutterのWebアプリが公開されます。デプロイ後に表示されるURLにアクセスすると、誰でもWebアプリを使うことができます。

Flutterを「実務レベル」で使えるようになりたい人や、 iPhone / Android両対応アプリ開発の流れをまとめて学びたい人には、 定番の実践書がこちらです。

Flutter実践開発をAmazonで見る

※ Amazon広告リンク

4. GitHub PagesでFlutter Webアプリを公開する

4. GitHub PagesでFlutter Webアプリを公開する
4. GitHub PagesでFlutter Webアプリを公開する

Firebase以外の選択肢として、GitHub PagesでもFlutter Webアプリを公開可能です。

  • GitHubリポジトリを作成
  • build/webの内容をそのリポジトリのgh-pagesブランチにpush
  • GitHubの設定でPages公開設定を行う

ビルド結果をgh-pagesブランチに配置するためのnpmツールやCI/CDを使うと、デプロイが自動化できます。

5. NetlifyやVercelを使ったFlutter Webの公開

5. NetlifyやVercelを使ったFlutter Webの公開
5. NetlifyやVercelを使ったFlutter Webの公開

NetlifyVercelといったホスティングサービスもFlutter Webに対応しており、GitHubとの連携で自動デプロイが可能です。

主な手順は次の通りです:

  • GitHubにFlutterアプリをPush
  • NetlifyやVercelのアカウントを作成してGitHubと連携
  • ビルドコマンドにflutter build webを設定
  • 公開ディレクトリにbuild/webを指定

これだけでビルドから公開まで自動で行ってくれるため、継続的デプロイ(CI/CD)にも最適です。

6. デプロイ時の注意点・トラブル対策

6. デプロイ時の注意点・トラブル対策
6. デプロイ時の注意点・トラブル対策

Flutter Webアプリをデプロイする際、以下のような注意点があります。

  • ルーティングがうまく動かない:Firebase Hostingでは404.htmlを使うより、リライト設定が必要です。
  • キャッシュ問題:更新内容が反映されないときは、ブラウザのキャッシュ削除やキャッシュバスティングが必要。
  • 画像・アセットが表示されないpubspec.yamlにアセットの指定がされているか確認しましょう。

特にSPA(シングルページアプリケーション)としての挙動を意識したホスティング設定が重要です。

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

1. Flutter(フラッター)で作成したWebアプリを公開する「デプロイ(でぷろい)」とは具体的にどのような作業を指すのですか?

Flutter(フラッター)における「デプロイ(でぷろい)」とは、自分のパソコン内(ローカル環境)だけで動いていたWebアプリを、インターネット上のサーバーにアップロードして、世界中の誰でもブラウザからアクセスして利用できる状態にすることを言います。具体的には、Flutterコマンドを使ってWeb用のファイル群を「ビルド(構築)」し、それを「Firebase Hosting(ふぁいあべーす・ほすてぃんぐ)」などの公開用サービスに転送する一連の流れを指します。
FlutterのWeb・デスクトップ対応の一覧へ
新着記事
Java
Java の古い日付クラス(Date, Calendar)と新しい日付 API の違い
JavaのDateとCalendarと新しい日付APIの違いとは?初心者向け完全ガイド
Java
Java のカレンダー機能(java.util.Calendar)の使い方
JavaのCalendarクラスの使い方をわかりやすく解説!日付や時刻の操作に便利な基本機能まとめ
Flutter
Dartのパッケージ管理(pubspec.yaml)の使い方
FlutterとDartのパッケージ管理完全ガイド!pubspec.yamlの使い方を初心者向けに徹底解説
Java
Java のミリ秒(Unix タイムスタンプ)を取得・変換する方法
JavaでUnixタイムスタンプ(ミリ秒)を取得・変換する方法を徹底解説!
人気記事
Java
Java の Random クラスを使ってランダムな数値を生成する方法
JavaのRandomクラスの使い方を完全ガイド!初心者でもわかる乱数生成
Java
Java の getter メソッドと setter メソッドの使い方
Javaのgetterメソッドとsetterメソッドの使い方を完全ガイド!初心者でもわかるアクセス方法
AWS
【AWS】RDSの料金体系まとめ!ざっくり理解・高いと感じる理由も解説
【AWS】RDSの料金体系まとめ!ざっくり理解・高いと感じる理由も解説
AWS
【AWS】VPCとは?初心者向けに仕組み・用途・できることをわかりやすく解説
【AWS】VPCとは?初心者向けに仕組み・用途・できることをわかりやすく解説

🔌 USBポート不足を解消

Type-C 1本で拡張。
開発・作業環境を一気に快適に

UGREEN USB-Cハブを見る

※ Amazon広告リンク