Flutterの使い方とサンプルアプリ(iOS、Android、Windows)について入門者向けに解説します。
Flutterとは
Flutterは、Googleが開発・提供しているオープンソースのモバイルアプリケーションフレームワークです。
Flutterの主な特徴は以下のとおりです。
- クロスプラットフォーム開発
- 1つのコードベースでiOSとAndroidの両方のアプリを開発でき、開発時間とコストを大幅に削減できます。
 
 - 高速なパフォーマンス
- Flutterはネイティブコードにコンパイルされるため、高速なパフォーマンスを実現します。
 
 - 豊富なウィジェット
- Flutterには多くのカスタマイズ可能なウィジェットが用意されており、綺麗でモダンなUIを簡単に作成できます。
 
 - ホットリロード
- ホットリロードとは、アプリケーションの実行中にコードを修正すると、修正内容が実行中のアプリケーションにリアルタイムで反映される便利な機能です。いちいちアプリケーションの実行を停止してからコードを修正し、再度実行するという手間が省けるので開発効率が向上します。
 
 
基礎編① Flutterの使い方
- Flutterの開発環境をインストール
 - Flutter SDKの更新(アップグレード)
 - Dartの基礎文法入門
 - Flutterの基本操作
 - Hello world
 - ListView
 - TextField
 - ファイル処理
 - JSONファイルの読み込み
 - テーマ定義
 - ダークテーマ
 - SQLiteによるデータの永続化
 - 起動アイコンの作成
 - 入力キーボードの制限
 - 画面スクロール
 - 画面遷移
 - DatePicker(日付選択画面)
 - Todoアプリ
 - 電卓アプリ
 
応用編①アプリの公開
- Android・iOSアプリ名を日本語に変更
 - アイコンの一括作成
 - Apple Storeでアプリを公開
 - Google Playでアプリを公開
 - アプリ内にAdmob広告を掲載
 - 自作したパッケージ・プラグインの作成と公開
 
トラブル集
- 「The method ‘RaisedButton’ isn’t defined for the type」の原因と対策
 - 「The getter ‘accentColor’ isn’t defined for the type ‘ThemeData’.」エラーの原因と対策
 - 「The method ‘showSnackBar’ isn’t defined for the type ‘ScaffoldState’. 」エラーの意味と対策
 - 「このリリースは Google Play の 64 ビット要件に準拠していません」エラーの対策
 - 「firebase_core_web not found.」エラーの対策
 - pod installのエラー対策
 - 「Execution failed for task ‘:app:mergeDexDebug’.」エラーの対策
 - 【Xcode】Archive後に「We identified one or more issues」というメールがきた
 - 「The operation couldn’t be completed. Unable to locate a Java Runtime」エラーの対策
 - 「Non-nullable instance field ‘XX’ must be initialized」の意味と対策
 - 「The method ‘showSnackBar’ isn’t defined for the type ‘ScaffoldState’. 」の意味と対策
 - FlutterでAGPのバージョンが古い場合のビルドエラーと解決方法
 
【その他】参考サイト
- 公式
- Write your first Flutter app, part 1(Flutter公式チュートリアル)
 - Cookbook(Flutter公式)→アプリ作成中の問題を解決する方法集
 - GitHubのサンプル→20個くらいのサンプルアプリ、デモ、サンプルが公開されている。
 
 - Flutter関連サイト
- Flutter Community→アプリの公開リストやMedium記事が紹介されている。
 - List of open-source Flutter apps→Flutterで構築されたアプリのGitHubリスト
 - Solido/awesome-flutter→awesomeシリーズのFlutter版(記事、動画、プラグイン、フレームワーク、オープンソースアプリなどあり)
 - Flutter Awesome→Flutterのアプリ、ライブラリ、UIテンプレートが細かくカテゴライズされて紹介されている
 
 - アイコン素材サイト