全Flutterガイド

カテゴリ別に整理されたFlutter開発ガイド

🎯 Dart言語

🎯

Dart紹介

Googleが作ったクライアント最適化プログラミング言語

Dartはすべてのプラットフォームで高速かつ安定したアプリ開発のためにGoogleが設計したオブジェクト指向言語です。すべてがオブジェクトで、強力な型システムとNull Safety、JIT+AOTコンパイルをサポートします。

📝

Dart基本文法

変数宣言、文字列、演算子、Null Safety基礎

Dartプログラムはmain()から始まります。var/final/const/late/dynamic変数宣言、文字列補間、Null Safety(?/!/??)、カスケード(..)演算子等のコア文法を整理します。

🔒

Dart型システム

静的型、型推論、ジェネリクス、typedef

Dartは静的型言語でコンパイル時に型検査を行います。型推論、is/asキャスト、型プロモーション、ジェネリクス、typedefを扱います。

🏗️

Dartクラス&OOP

コンストラクタ5種、継承、インターフェース、Mixin、ファクトリパターン

Dartは完全なオブジェクト指向言語です。5種コンストラクタ、extends/implements/withによる継承・インターフェース・Mixin、ファクトリパターンで柔軟なクラス設計ができます。

📚

Dartコレクション

List、Set、Map + スプレッド、コレクションfor/if

Dartの3大コレクション — List(順序あり重複可)、Set(重複不可、集合演算)、Map(キー値ペア)。スプレッド、コレクションfor/if、メソッドチェーンで強力なデータ処理が可能。

Dart非同期プログラミング

Future、async/await、Stream、FutureBuilder

ネットワーク要求、ファイルI/O等の時間がかかる作業でUIが止まらないよう処理。Future(単一結果)とStream(連続イベント)、async/awaitで非同期を同期風に記述。

🛡️

Dart例外処理

try-catch-finally、onタイプ別処理、rethrow

DartはException(復旧可能)とError(復旧不可)を区別します。try-catch-finally、onタイプ別処理、rethrow、非同期例外処理を整理します。

🔌

Dart Extension

既存クラスにメソッド/プロパティを追加

Extensionは原本ソース修正や継承なしに既存クラスに新しいメソッド・プロパティ・演算子を追加します。Stringにcapitalize、intにisPrime、Listにdistinctを追加可能。

📦

Dart Records&パターンマッチング

Dart 3.0 — 多値返却、分割代入、switchパターン

Dart 3.0で導入されたRecordsは、クラスなしで複数の値をグループ化する不変型です。パターンマッチングと組み合わせればswitch/if-caseで型と条件を同時検査できます。