Flutter / Dart
エンジニアのためのWebチートシート
Flutter は Google が開発したクロスプラットフォームUIフレームワークで、Dart 言語を使用します。 1つのコードベースで iOS、Android、Web、デスクトップアプリを開発できます。 Dart の基本構文、Null Safety、クラス、非同期処理、Widget、レイアウト、ナビゲーション、状態管理などをチートシートにまとめました。
Dart 基本構文
変数と定数
var, final, const, 型推論, Null Safetyの基本です。
Null Safety & 型操作
Null許容型、null合体演算子、型チェック・キャストです。
基本型一覧
| 型 | 説明 |
|---|---|
| int | 整数(64bit) |
| double | 倍精度浮動小数点 |
| num | int, double の親型 |
| String | UTF-16文字列 |
| bool | true / false |
| List<T> | 順序付きコレクション(配列) |
| Set<T> | 重複なしコレクション |
| Map<K,V> | キーバリュー |
| dynamic | 動的型(型チェック無し) |
| Object | 全オブジェクトの基底型(null以外) |
| void | 値を返さない |
| Never | 正常に完了しない関数の戻り値型 |
| Record | レコード型(Dart 3) |
制御フロー & 関数
制御フロー & パターンマッチ
if/else, switch式, if-case, for/for-in です。Dart 3のパターンマッチを含みます。
関数定義
アロー構文, 名前付き/位置パラメータ, クロージャ, typedefです。
Records(Dart 3)
軽量なデータ構造と分割代入です。
クラス & OOP
クラス定義 & コンストラクタ
コンストラクタ省略記法, ファクトリ, ゲッター/セッターです。
継承 & Mixin
extends, implements, with(Mixin), Extension Methodsです。
クラス修飾子(Dart 3)& Enum
sealed, final, base, interface, Enhanced Enumです。
コレクション
List(配列)
配列の操作、スプレッド演算子、コレクションif/forです。
Map & Set
キーバリュー、重複なしコレクション、主要メソッドです。
コレクション操作
メソッドチェーン、ジェネリクスの使い方です。
非同期プログラミング
Future & async/await
非同期処理の基本とFutureメソッドです。
Stream
async*, yield, StreamControllerによるデータストリームです。
エラーハンドリング
try/catch/finally, on句, thenチェーンです。
Widget基礎
最小アプリ & StatelessWidget
MaterialApp, Scaffold, StatelessWidgetの基本構造です。
StatefulWidget
setState, ライフサイクル, initState/disposeです。
ライフサイクル
| メソッド | タイミング |
|---|---|
| createState() | StatefulWidget生成時 |
| initState() | State生成直後(1回) |
| didChangeDependencies() | 依存Widget変更時 |
| build() | UIの構築(setState毎) |
| didUpdateWidget() | 親からの設定変更時 |
| deactivate() | ツリーから除去時 |
| dispose() | State完全破棄時 |
レイアウトWidget
Row & Column
横並び・縦並び, MainAxisAlignment, Expanded/Spacerです。
Alignment
| MainAxisAlignment | 動作 |
|---|---|
| .start | 先頭に寄せる |
| .end | 末尾に寄せる |
| .center | 中央に配置 |
| .spaceBetween | 均等配置(両端余白なし) |
| .spaceEvenly | 均等配置(両端余白あり) |
| .spaceAround | 均等配置(両端は半分の余白) |
Container & Stack
装飾・余白・重ね合わせレイアウトです。
ListView & GridView
スクロール可能なリスト・グリッドレイアウトです。
ナビゲーション
Navigator(基本)
push, pop, pushReplacement, 値の受け渡しです。
GoRouter(宣言的ルーティング)
パスパラメータ, ShellRoute, リダイレクトです。
状態管理 & パターン
Provider / Riverpod
ChangeNotifier, Consumer, ref.watch/readです。
よく使うパターン
FutureBuilder, MediaQuery, ダイアログ表示です。
引用・参考リンク
Related Cheatsheets
- 正規表現-正規表現(Regular Expression)は、文字列のパターンマッチングに使われる強力なツールです。 基本構文、量指定子、文字クラス、アンカー、グループ化、先読み・後読みなどをチートシートにまとめました。
- Python-Pythonは、シンプルで読みやすい構文が特徴の汎用プログラミング言語です。 データ型、制御構文、関数、クラス、リスト操作、ファイル操作などの基本をチートシートにまとめました。
- Go-Go(Golang)は、Googleが開発した静的型付けのコンパイル言語です。 シンプルな構文、高速なコンパイル、組み込みの並行処理(goroutine)が特徴です。 基本構文、データ型、関数、構造体、エラー処理、並行処理などをチートシートにまとめました。
- Rust-Rustは、安全性、速度、並行性を重視したシステムプログラミング言語です。 所有権システムによりメモリ安全性をコンパイル時に保証します。 基本構文、所有権、データ型、トレイト、エラー処理、コレクションなどをチートシートにまとめました。
Related Goods
WebTerm - Recommended tools
WebTermは、ブラウザでLinuxコマンド・Gitコマンドを安全に実行でき、チュートリアル式で学べるターミナルサンドボックスです。
AIコーディングツールの普及に伴い、CLIの基礎知識を身につける重要性は増しています。実際のターミナルを操作するのに抵抗がある方でも、WebTermはローカル環境を壊す心配がありません。「会員登録不要・無料」で利用でき、学習環境として最適です。

WebTerm
Browser Terminal Sandbox for Learning CLI
開く
All Cheatsheets
エンジニア・プログラマー向けの便利なチートシートを多数まとめています(SP/Tablet/PC対応)
すべてのチートシートを見る

