📌
【Flutter】Web, Desktop(Windows) 開発環境構築
キテルキテルと言われてはいましたが、中々手を付けられずにいたFlutterをやっと触れたので、自分用にメモを残しておこうかと。
【2022/05/17】Flutter 3.0.0で確認
方針
モバイルについては既に先人たちが知見を残してくれているので、ニッチではありますが、FlutterでWebとWindowsデスクトップアプリをなるべく同一ソースで作成する方針でいこうと思っています。
環境構築
何はさておき環境構築、Windows10で公式通りにセットアップを進めます。
インストール
- flutter_windows_x.x.x-stable.zipをダウンロード
- zipファイルをアクセス権限が引っ掛からない場所(C:\Users[ユーザー名]とか)に展開
- 環境変数のPathにflutter\binフォルダーを追加(上記例なら"c:\Users[ユーザー名]\flutter\bin")
- コマンドプロンプト(PowerShell)で
flutter --version
を実行してバージョン情報が表示されればOK - 次に
flutter doctor
を実行、するとAndroid toolchainとAndroid Studioにエラーと警告が出ますがWebとWindows開発だけなら問題なし -
最後にFlutter 3.0.0では不要flutter config --enable-windows-desktop
を実行してWindowsデスクトップのサポートを有効にする
ここまででFlutterの設定は完了 - Windowsデスクトップ開発にはVisual Studioが必要なのでダウンロードしてくる
個人なら無償のVisual Studio Communityでよいかと - インストーラーを起動し、「C++によるデスクトップ開発」にチェックを入れインストール
【2022/05/17 追記】
現在、Visual Studioをインストールしたあとにflutter doctor
を実行するとBad UTF-8 encoding
というエラーが発生する。
こちらは英語環境以外で発生するバグのようで、対応方法としては以下からvswhere.exe
をダウンロードしてきて、C:\Program Files (x86)\Microsoft Visual Studio\Installer
にあるファイルと差し替える。
エディターの用意
こちらも公式のエディターを設定するに記載があるVisual Studio Codeをインストールします。
- Visual Studio Codeをダウンロード
- インストーラーからインストール(特に難しいところはない)
- VS Codeを起動して左のメニューにある拡張機能(□が4つあるアイコン)を選択、検索窓から
Flutter
を検索してインストール - 必要に応じて検索窓から
japanese
を検索して日本語プラグイン(Japanese Language Pack for Visual Studio Code)もインストール - インストール済みの拡張機能にDart、Flutter(、Japanese Language Pack for Visual Studio Code)があればOK
-
Ctrl+Shift+P
でコマンドを起動しdoctor
と入力、Flutter:Run FlutterDoctor
を選択 - 結果、Flutter・Chrome・Visual Studio・VS Codeに✓が入っていればOK
ここまでで環境構築は完了。
サンプルアプリ実行
ひとまず公式が用意しているサンプルアプリを実行するところまでいきます。
- VS Codeで
Ctrl+Shift+P
からflutter
を入力し、Flutter:New ApplicationProject
を選択 - プロジェクトのフォルダーを選択
- プロジェクト名を入力(例:
myapp
) -
main.dart
ファイルが表示されればサンプルアプリ構築完了 - 次にVS Code右下のバーに
Windows(windows-x64)
が表示されていれば[実行]>[デバッグの開始]を選択する(別のデバイス名が表示されている場合、デバイス名をクリックすれば変更できる) - Windowsデスクトップアプリが起動するので軽く動作確認する
- デバッグを終了し、デバイスを
Chrome(web-javascript)
に変更する - 再度[実行]>[デバッグの開始]を選択すると、Chromeが立ち上がりWebアプリが起動するので軽く動作確認する
以上で、サンプルアプリのWindowsデスクトップ版とWebアプリ版の確認が取れたと思う。
最初立ち上げたときは簡単すぎて感動した。
次回はTODOアプリを作成してみる。
Discussion