Flutter で Windows アプリをテンプレートから生成し、起動してみよう。
※2020/08/08 での話です。現在の最新のFlutterとは異なります。
最新に合わせたのは後で書こう……。
Flutter 公式が用意してくれてる、アプリのサンプルを起動するところまで。
Electron みたいな見た目で起動して表示されるみたい。
Win32-basedだから、違うんだろう……。
ちょっと試した感じだと、普通のアプリみたいに見える。
.exe単体で起動できるような形には、今はならないっぽい。
テクニカルレビューなそうなので、今後にも期待。
あとでUWPに対応するとかも書いてるみたいだしね。
#Flutter で Windows アプリのテンプレートを作成する
サンプル用テンプレートを生成するフォルダへ移動する
flutter create で作成するだけ。
. は、カレントディレクトリの指定になる。
C:\src> mkdir FlutterSample01
C:\src> cd FlutterSample01
C:\src\FlutterSample> flutter create .
↓こんな感じのメッセージになる。
Running "flutter pub get" in FlutterSample... 1.6s
Wrote 91 files.
All done!
[√] Flutter: is fully installed. (Channel master, 1.21.0-8.0.pre.109, on Microsoft Windows [Version 10.0.18363.997],
locale ja-JP)
[√] Android toolchain - develop for Android devices: is fully installed. (Android SDK version 29.0.2)
[√] Visual Studio - develop for Windows: is fully installed. (Visual Studio Community 2019 16.3.10)
[√] Android Studio: is fully installed. (version 4.0)
[√] Connected device: is fully installed. (1 available)
In order to run your application, type:
$ cd .
$ flutter run
Your application code is in .\lib\main.dart.
WARNING: The Windows tooling and APIs are not yet stable. You will likely need to re-create the "windows" directory
after future Flutter updates.
C:\src\FlutterSample>
サンプルを起動してみる
flutter run を実行するだけ。
C:\src\FlutterSample>flutter run
↓こんな画面になる。+をクリックするとカウントが増えていく。
このサンプル自体も、中身的にはAndroid/iOS用と同じサンプルプログラムの内容となっている。
なので、lib\main.dart の中身が実行されているのは一緒。
すげえなあ。Windowsでも同じソースで書けちゃうじゃん。
Hot Reload とかはどうなん、って?
まだ試してないからわからないけど、Windowsで同じのを起動できる時点で、
俺の中では十分なんだよなあ。確認しやすいし。
#他の環境で動かすにはどうすれば良い?
あくまで、現時点(2020/08/08 19:27)時点での話なんだけど。
他の環境で動かすには、以下が必要になるみたい。
- Visual Studio 2015、2017、および 2019 用 Microsoft Visual C++ 再頒布可能パッケージ
- 各環境用のFlutterのBuild後のPackage
- Windowsの場合は、 flutter run じゃなく、flutter build を実行する必要がある
↓以下を実行する
C:\src\FlutterSample>flutter build windows
Buildが終わると、以下のフォルダにBuildしたものが出来ている。
build\windows\runner\Release
build\windows\runner\Debug
上の例で言うと、C:\src\FlutterSample\build\windows\runner\Release(Debug) になる。
中身の全てが必要。exeだけじゃ動作しない。
dataフォルダの中身がないと画面が出ない。
再配布パッケージがインストールされてる環境であれば、.exeを起動すれば動く。
ない場合はエラーになる。
#参考
- FlutterでWindowsデスクトップアプリのネイティブ連携をする