Dart Foundations
The Dart language a Flutter dev must know — null safety, classes & mixins, and async with Future/Stream. Start →
Dart Foundations
The Dart language a Flutter dev must know — null safety, classes & mixins, and async with Future/Stream. Start →
Everything Is a Widget
The widget concept, stateless vs stateful, build & BuildContext, and the three trees. Compose →
Layout & Rendering
Constraints go down, sizes go up — the layout algorithm, core widgets, slivers, and the render pipeline. Lay out →
State Management
setState & lifecycle, InheritedWidget, Provider/Riverpod, BLoC, and where state should live. Manage →
Navigation & App Structure
Navigator, declarative routing & deep links, app scaffolding, and platform channels. Navigate →
Async, Performance & Rendering
FutureBuilder/StreamBuilder, minimizing rebuilds, animations, and isolates for heavy work. Optimize →
Tooling, Testing & Production
The toolchain, unit/widget/golden tests, build modes & flavors, and production concerns. Ship →
The model first, then the code
Every topic starts from a model — the three trees, the constraints algorithm, how rebuilds propagate — so Flutter’s behavior stops feeling like magic and starts feeling inevitable.
Dart, then Flutter
Flutter is Dart. The course opens with the Dart depth a Flutter dev actually needs — null safety, async, mixins — before a single widget.
Design, not just syntax
Not “here’s a ListView” but “here’s how constraints and slivers make scrolling work, and why your list janks.” You’ll reason about layout and performance with confidence.
Diagrams that explain
The widget/element/render trees, constraint flow, the render pipeline, and state propagation as theme-aware Mermaid diagrams. Bilingual (English / ไทย) with saved quiz progress.