Skip to content

Flutter Deep Dive

A standalone, intermediate→advanced course on Flutter and Dart. From null safety and async Dart to the widget/element/render trees, the constraints layout algorithm, InheritedWidget and modern state management, navigation, performance, and release builds — every topic taught through annotated code and widget-tree diagrams.

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.