[PWA]MacBook環境でflutterを使ってPWAを作ってみる

image

目的

PWAをflutterで作ってみる。

実行環境

PC:M1 MacBookAir

Flutter 3.0.2 • channel stable • https://github.com/flutter/flutter.git

Framework • revision cd41fdd495 (7 weeks ago) • 2022-06-08 09:52:13 -0700

Engine • revision f15f824b57

Tools • Dart 2.17.3 • DevTools 2.12.2

環境構築

前提:flutterでスマホアプリ開発ができている

以下のコマンドを実行後、エディターを再起動する。

実行するとこんな感じのレスポンスが帰ってくる。

プロジェクト作成

VScodeからflutterプロジェクトを新規作成する。

手順は割愛。

すると例のお馴染みのアプリが作成される。

ローカル環境で動作確認してみる

コマンド実行

VScodeで実行

エミュレーターでChromeを選んでから実行する

実行結果

無事いつものやつが、web上で動作しています。

web用にビルド

以下のコマンドを叩く。

以下のようにマッチョが出てくればOK

するとbuild/ディレクトリ下にビルドしたJavascriptファイルが出来上がっている。

ホスティング

Firebaseでホスティングするのが一番簡単らしいです。

FireBase CLIとは?

デプロイにはFireBase CLIを使用します。

Firebase プロジェクトの管理、表示、デプロイを行うさまざまなツールを提供してくれるやつです。

詳細は公式のリファレンスを参照ください。

インストール

環境によってインストール方法が異なりますので、ご注意ください。

今回はMacで行っていきます。

他の環境下でのインストールはこちらを参考にしてください。

以下のコマンドでインストールする。

こんな感じでインストールが完了する。

CLIをテスト

以下のコマンドでログインする。

以下のようにlogが流れ、勝手にchromeに遷移し、googleアカウントのログインを求められます。

ログインに成功するとこんな画面になります。

FirebaseConsoleにアクセスしてプロジェクトを作成する。

FireBaseコンソールにログインします。

画面の指示に従ってプロジェクトを作成します。

完成するとこんな感じになります。(念の為IDは黒塗りしています。)

FireBase init

下記のコマンドをflutterプロジェクトのrootディレクトリで実行します。

こんな感じのlogが流れます。

色々質問が出てきてきますが、適宜選択してください。

と言っても難しいと思うので、必要最低限の設定だけ以下に示します。

Firebaseどれ有効にする?

以下のような質問が出てきます。

HTML

いくつか候補が出てきて、必要なものをスペースキーで選択します。

今回は以下の項目を選択。(hostingから始まる選択肢が2つあるので注意)

HTML

公開用のファイル置き場をどこにするか?

以下の質問にbuild/webを指定します。

HTML

SPA

Noにします。

あとは適当でいいはず。

各種設定が終わると、以下のlogが出ます。

デプロイする

下記のコマンドでデプロイできます。

以下のようなlogが出てきてdeployが完了します。

hostingURLを確認

デプロイが終わるとターミナルにURLが出てきます。

自分の場合は以下のURL

URLにアクセス

URLにアクセスすると、なぜかfirebaseのデフォルト画面みたいなものが出ることがあります。

その場合はビルドし直した後、再度deployし直すと、ちゃんと表示されるようになります。

実際にdeployできると以下のような画面が出てきます。

こんな感じでインストールもできます。

3 COMMENTS

アバター 神納一郎

すみません、教えてください。
deployまでできたのですが、なぜか画面が「Welcome
Firebase Hosting Setup Complete
You’re seeing this because you’ve successfully setup Firebase Hosting. Now it’s time to go build something extraordinary!

OPEN HOSTING DOCUMENTATION」
になります。deployを繰り返しても同様です。
解消方法を教えていただければ幸いです。

返信する
アバター 神納一郎

すみません、先ほどの質問者です。
いろいろ試したところ、再度
flutter build web
してから
firebase deploy
したところ、どうにか動きました。
ご面倒をおかけしました。
ありがとうございます。

返信する

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


error: Content is protected !!