単一のコードベースでクロスプラットフォームアプリを開発できる Flutter を CLI で試してみました。

前提として、Apple シリコン Mac に Xcode や Android Studio はインストール済みです。

brew で Flutter をインストール

$ brew install flutter

$ flutter --version
Flutter 3.29.0 • channel stable • https://github.com/flutter/flutter.git
Framework • revision 35c388afb5 (13 days ago) • 2025-02-10 12:48:41 -0800
Engine • revision f73bfc4522
Tools • Dart 3.7.0 • DevTools 2.42.2

Flutter 環境を診断

$ flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.29.0, on macOS 15.3.1 24D70 darwin-arm64, locale ja-JP)
[✓] Android toolchain - develop for Android devices (Android SDK version 35.0.1)
[✓] Xcode - develop for iOS and macOS (Xcode 16.2)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2024.2)
[✓] VS Code (version 1.97.2)
[✓] Connected device (3 available)
[✓] Network resources

• No issues found!

Flutter アプリを作成

$ flutter create my_app

$ cd my_app

Flutter アプリを静的解析

$ flutter analyze
Analyzing my_app...                                                     
No issues found! (ran in 4.8s)

Flutter アプリのテストコードを実行

$ flutter test
00:03 +1: All tests passed!

接続デバイスを確認

$ flutter devices
Found 3 connected devices:
  macOS (desktop)                 • macos                 • darwin-arm64   • macOS 15.3.1 24D70 darwin-arm64
  Mac Designed for iPad (desktop) • mac-designed-for-ipad • darwin         • macOS 15.3.1 24D70 darwin-arm64
  Chrome (web)                    • chrome                • web-javascript • Google Chrome 133.0.6943.127

MacOS アプリを起動

$ flutter run -d macos

2025-02-24-flutter-01.png

Web アプリを起動

$ flutter run -d chrome

2025-02-24-flutter-02.png

エミュレーターを確認

$ flutter emulators
2 available emulators:
Id                  • Name                • Manufacturer • Platform
apple_ios_simulator • iOS Simulator       • Apple        • ios
Medium_Phone_API_35 • Medium Phone API 35 • Generic      • android

エミュレーターを起動

$ flutter emulators --launch apple_ios_simulator

$ flutter emulators --launch Medium_Phone_API_35

エミュレーターのデバイス ID を確認

$ flutter devices
Found 5 connected devices:
  sdk gphone64 arm64 (mobile)     • emulator-5554                        • android-arm64  • Android 15 (API 35) (emulator)
  iPad mini (A17 Pro) (mobile)    • 60277030-E9F4-43A7-B5AE-EBFFE11F49B2 • ios            • com.apple.CoreSimulator.SimRuntime.iOS-18-2 (simulator)
  macOS (desktop)                 • macos                                • darwin-arm64   • macOS 15.3.1 24D70 darwin-arm64
  Mac Designed for iPad (desktop) • mac-designed-for-ipad                • darwin         • macOS 15.3.1 24D70 darwin-arm64
  Chrome (web)                    • chrome                               • web-javascript • Google Chrome 133.0.6943.127

iOS アプリを起動

$ flutter run -d 60277030-E9F4-43A7-B5AE-EBFFE11F49B2

2025-02-24-flutter-03.png

Android アプリを起動

$ flutter run -d emulator-5554

2025-02-24-flutter-04.png

参考

flutter: The Flutter command-line tool