Framework UI cross-platform của Google — iOS, Android, Web, macOS, Windows, Linux.
15 chương từ flutter create đến deploy lên App Store, Play Store, web.
Chia 4 phase: Foundation (1-5) → State management (6-8) → Build feature (9-13) → Production (14-15). Yêu cầu: học xong 8 chương Dart trước.
FVM, iOS/Android toolchain, flutter doctor, IDE setup, hot reload vs hot restart, build mode.
Mental model "everything is a widget", Stateless vs Stateful, setState, MaterialApp, Scaffold, 3 cây.
Constraints flow down sizes flow up, Row/Column, Expanded/Flexible, Stack, Container, debug overflow.
Material 3, ColorScheme.fromSeed, text theme, dark mode, ThemeExtension, Google Fonts.
Navigator 1.0, named routes, go_router (recommended), ShellRoute, modal/snackbar.
State spectrum, lifting state up, InheritedWidget custom, InheritedNotifier, ChangeNotifier.
Cubit vs Bloc, BlocProvider/Builder/Listener/Selector, sealed state class, repository pattern, bloc_test.
So sánh 3 thư viện. Cùng Counter app, 4 cách viết. Decision framework chọn lib phù hợp.
TextField, Form + FormState, validator, focus management, Autocomplete, image_picker.
http vs Dio, interceptor, JSON codegen (freezed + json_serializable), repository pattern, WebSocket.
SharedPreferences, SecureStorage, sqflite, drift, hive, isar, offline-first pattern, migration.
Implicit (Animated*) vs explicit (AnimationController + Tween), Hero, Lottie, staggered animation.
CustomPainter, Canvas API, Path, RenderObject intro, 3 cây Widget/Element/RenderObject deep dive.
Flutter có 3 mental model lớn: "everything is a widget", "constraints flow down, sizes flow up", và "declarative UI = function of state". Không nắm 3 cái này thì code Flutter cứ thấy lạ mãi. Mỗi chương được thiết kế để củng cố mental model trước, syntax sau.
3 chương riêng cho 3 path: setState+InheritedWidget (ch.6), Bloc (ch.7),
Provider/Riverpod/GetX (ch.8). Không bias một lib — so sánh tradeoff để bạn tự chọn.
Real-world team mỗi nơi dùng khác — hiểu cả 4 = đọc được code mọi team.
Chương 14 dành riêng cho testing (4 level), chương 15 cover performance + deploy. Đa số tutorial Flutter skip 2 phần này — sub-pillar này coi như first-class citizen.