全Flutterガイド
カテゴリ別に整理されたFlutter開発ガイド
入門
Dart言語
Dartとは?Null SafetyとJIT/AOTが特徴の言語
Googleが作ったクライアント最適化プログラミング言語
Dartはすべてのプラットフォームで高速かつ安定したアプリ開発のためにGoogleが設計したオブジェクト指向言語です。すべてがオブジェクトで、強力な型システムとNull Safety、JIT+AOTコンパイルをサポートします。
Dart基本文法まとめ — var/final/constと?・!・??
main()から始めるDartのコア文法
Dartプログラムはmain()から始まります。var/final/const/late/dynamic変数宣言、文字列補間、Null Safety(?/!/??)、カスケード(..)演算子等のコア文法を整理します。
Dartの型システム — 型推論・キャスト・ジェネリクス
コンパイル時に型を検査する静的型言語
Dartは静的型言語でコンパイル時に型検査を行います。型推論、is/asキャスト、型プロモーション、ジェネリクス、typedefを扱います。
Dartのクラス — extends・implements・withの違い
コンストラクタ5種、継承、インターフェース、Mixin、ファクトリパターン
Dartは完全なオブジェクト指向言語です。5種コンストラクタ、extends/implements/withによる継承・インターフェース・Mixin、ファクトリパターンで柔軟なクラス設計ができます。
DartのList・Set・Mapの違いと使い分け
スプレッドとコレクションfor/ifまで
Dartの3大コレクション — List(順序あり重複可)、Set(重複不可、集合演算)、Map(キー値ペア)。スプレッド、コレクションfor/if、メソッドチェーンで強力なデータ処理が可能。
Dartの非同期処理 — Future・Stream・async/await
時間のかかる処理でUIを止めない
ネットワーク要求、ファイルI/O等の時間がかかる作業でUIが止まらないよう処理。Future(単一結果)とStream(連続イベント)、async/awaitで非同期を同期風に記述。
Dartの例外処理 — ExceptionとErrorの違いとtry-catch
on・rethrow・非同期の例外まで
DartはException(復旧可能)とError(復旧不可)を区別します。try-catch-finally、onタイプ別処理、rethrow、非同期例外処理を整理します。
Dart Extensionとは?既存クラスにメソッドを足す方法
Stringにcapitalize、intにisPrimeを足す例
Extensionは原本ソース修正や継承なしに既存クラスに新しいメソッド・プロパティ・演算子を追加します。Stringにcapitalize、intにisPrime、Listにdistinctを追加可能。
Dart Recordsとパターンマッチングの使い方
Dart 3.0 — 多値返却、分割代入、switchパターン
Dart 3.0で導入されたRecordsは、クラスなしで複数の値をグループ化する不変型です。パターンマッチングと組み合わせればswitch/if-caseで型と条件を同時検査できます。
ウィジェット&UI
ウィジェットツリーとは?FlutterのUIを作る3つのツリー
Flutter UIの根本 — 全てはウィジェット
Flutterではボタン、テキスト、パディング、配置すべてがウィジェットです。Widget → Element → RenderObject、3つのツリーがUIを構成する原理を理解しましょう
StatefulWidgetとStatelessWidgetの違いと使い分け
UIが変わるかどうかで決める
変わらないUIはStatelessWidget、ユーザー操作で変わるUIはStatefulWidget — 正しい選択がパフォーマンスと構造を決定します
Flutterレイアウトの仕組み — 制約は下へ、サイズは上へ
Row、Column、Stack、FlexでUI配置
Constraints go down, Sizes go up, Parent sets position — Flutterレイアウトの3大規則を理解すれば、どんなUIも自在に配置できます
状態管理
ナビゲーション&ルーティング
実践&デプロイ
FlutterでREST APIを呼ぶ方法 — http/dioとJSON変換
JSONをDartのオブジェクトに対応づける
httpまたはdioパッケージでREST APIを呼び出し、JSONシリアライズ/デシリアライズでDartオブジェクトとマッピングする実践ガイド
FlutterアプリをApp StoreとGoogle Playに公開する手順
署名・ビルド設定・ストア登録・審査対応
アプリ署名、ビルド設定、ストア登録、審査対応まで — FlutterアプリをiOS App StoreとGoogle Playに公開する全プロセス
プラットフォームチャネルとは?Swift/Kotlinを呼ぶ仕組み
カメラ・Bluetooth・NFCとMethodChannel
カメラ、Bluetooth、NFCなどネイティブ機能が必要な時、MethodChannelを通じてSwift(iOS)/Kotlin(Android)コードと通信する方法