なぜFlutterを使うのか
このページで学ぶこと
- Flutter とは何かがわかる
- Flutter と他のモバイル開発手法の違いがわかる
- 開発環境をセットアップできる
Flutter とは
Flutter は Google が開発したクロスプラットフォームのUIフレームワークです。
1つのコードで iOS・Android・Web・デスクトップのアプリを作れます。
Flutter のコード (1つ)
├── iOS アプリ
├── Android アプリ
├── Web アプリ
└── デスクトップアプリプログラミング言語は Dart を使います。
なぜ Flutter を選ぶのか
| 比較項目 | ネイティブ(Swift/Kotlin) | React Native | Flutter |
|---|---|---|---|
| 言語 | Swift/Kotlin(2言語必要) | JavaScript | Dart |
| UIの描画手法 | OS標準のコンポーネントを使用 | OS標準のUIをラップ | 独自エンジンで描画 |
| 見た目 | OS依存 | 一部ネイティブ | OSに依存せず一貫したデザインが可能 |
| パフォーマンス | 最高 | 良い | 良い |
| 学習コスト(初心者) | 高い | 中程度 | 中程度 |
Flutter のメリット
- 1つのコードベースで iOS と Android の両方を作れる
- UIの見た目がすべて Flutter で描画されるため、OSに関係なく同じデザインになる
開発環境をセットアップしよう
Windows の場合
ステップ0: Scoopをインストールする
ScoopはWindows用パッケージマネージャーです。 ScoopはFVM (Flutter Version Manager)のインストールに使用します。
- 以下のコマンドをPowerShellまたはコマンドプロンプトで実行
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
Invoke-RestMethod -Uri https://get.scoop.sh | Invoke-Expressionscoop helpを実行し、Scoopがインストールされたことを確認
ステップ1: FVMをインストールする
- 以下のコマンドを実行してFVMをインストールする
scoop bucket add extras
scoop install extras/fvmFVMはFlutterのバージョン管理に使用します。 Flutterのバージョンによって、プロジェクトで予期せぬエラーや動かないパッケージが発生することがあるためです。
ステップ2: Flutter SDK をインストールする
- 適当なアプリ開発用フォルダを作成する(例:
C:\src\flutter_apps) - 1のフォルダを右クリックし、「ターミナルで開く」をクリック
- ターミナルで
fvm use stableを実行する
C:\Program Files\のような高い権限が必要な場所や,OneDriveと同期されているフォルダ(ドキュメントなど)には置かないでください. NortonやMcAfee等、サードパーティ製アンチウイルスソフトをインストールしている場合、エミュレータに接続できない等エラーが発生する場合があります。これらアンチウイルスソフトをアンインストールすることを強く推奨します。
ステップ2.5: エイリアスの設定
- PowerShellを開き、以下のコマンドを実行して設定ファイル(プロファイル)を作成・開く
if (!(Test-Path -Path $PROFILE)) { New-Item -ItemType File -Path $PROFILE -Force }
notepad $PROFILE- 開いたメモ帳に以下の2行を貼り付け、保存して閉じる
function flutter { fvm flutter $args }
function dart { fvm dart $args }- PowerShellを再起動するか、以下のコマンドを実行して設定を反映させる
. $PROFILE- 動作確認
flutter doctorステップ3: Android Studio をインストールする
- Android Studio の公式サイトからダウンロード・インストール
- 初回起動時の設定ウィザードを完了させる(Android SDK のインストールが行われる)
- Android Studioを起動する
More Actionsを選択し、SDK Managerを開く- Android SDK Command-line Toolsにチェックを入れ、Applyしてインストールする
ステップ4: ライセンスの同意
PowerShell またはコマンドプロンプトで以下を実行する。
# Androidライセンスに同意(すべてyを入力してEnter)
flutter doctor --android-licensesMac の場合
ステップ0: Homebrewをインストールする
HomebrewはmacOSで一般的に使用されるパッケージマネージャーです .
- ターミナルで以下を実行してHomebrewをインストールする
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"- 以下のコマンドを実行しHombrewをPATHに追加する
echo 'eval $(/opt/homebrew/bin/brew shellenv)' >> ~/.zprofile
eval $(/opt/homebrew/bin/brew shellenv)ステップ1: FVMをインストールする
- 以下を実行する
brew install fvmステップ2: Flutter SDKをインストールする
- 適当なアプリ開発用フォルダを作成する(例:
~/src/flutter_apps) - Finder でそのフォルダを右クリックし、「サービス -> フォルダに新規ターミナル」をクリック
- ターミナルで
fvm use stableを実行する
ステップ2.5: エイリアスの設定
- ターミナルで以下を実行し、
~/.zshrcにエイリアスを追記する
echo 'alias flutter="fvm flutter"' >> ~/.zshrc
echo 'alias dart="fvm dart"' >> ~/.zshrc- 設定を反映する
source ~/.zshrc- 動作確認
flutter doctorステップ3: XCode をインストールする(iOS 開発に必要)
App Store から XCode をインストールする。
# コマンドラインツールを設定
sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
sudo xcodebuild -runFirstLaunchCocoaPodsをインストールする
brew install cocoapodsステップ4: Android Studio をインストールする
- Android Studio の公式サイトからダウンロード・インストール
- 初回起動時の設定ウィザードを完了させる(Android SDK のインストールが行われる)
- Android Studioを起動する
More Actionsを選択し、SDK Managerを開く- Android SDK Command-line Toolsにチェックを入れ、Applyしてインストールする
ステップ5: ライセンスの同意
ターミナルで以下を実行する。
# Androidライセンスに同意(すべてyを入力してEnter)
flutter doctor --android-licensesエミュレータの準備
実機がなくても、パソコン上でアプリを動かすための仮想端末(エミュレータ)を利用する。
Androidエミュレータの追加
- Android Studioを開く
More Actions->Virtual Device Managerを選択Create Deviceから適当な端末を選び、インストールする
iOSシミュレータの追加
- XCodeを開く
Settings->Componentsを選択- シミュレータのランタイムをインストール
VS Code の設定
Flutter 開発には VS Code が便利です。
- VS Code を開く
- 拡張機能(
Ctrl + Shift + X/Cmd + Shift + X)で「Flutter」を検索 - Flutter の拡張機能をインストール(自動的に Dart 拡張機能もインストールされる)
Flutter SDK の自動検出
FVM でプロジェクトをセットアップした状態(.fvm/flutter_sdk が存在する状態)でプロジェクトフォルダを VS Code で開くと、Flutter 拡張機能が自動でそのSDKを検出してくれます。
初回は以下のようなダイアログが表示されます:
This project contains a Flutter SDK version managed by FVM. Do you want to use it?
「Yes」を選ぶと、.vscode/settings.json に以下が書き込まれます。
{
"dart.flutterSdkPath": ".fvm/flutter_sdk"
}うまく検出されないとき:
- VS Code で開いているフォルダが プロジェクトのルート(
pubspec.yamlがあるフォルダ)になっているか確認するfvm use stableを実行してから VS Code を開き直す- それでもだめなら上記の
.vscode/settings.jsonを手動で作成する
確認しよう
-
flutter doctorでエラーなく完了した - エミュレータ(Android)または シミュレータ(iOS)が起動できた
- VS Code に Flutter 拡張機能をインストールした
AIに聞いてみよう
「FlutterとDartを使ったことがありません。どこから始めると良いですか?」