StatelessWidget & component
A piece of interface built from its configuration, as a struct or a closure.
StatefulWidget & State
State kept between rebuilds, and its lifecycle: init, update, dispose.
use_state, use_ref & use_memo
State kept by a function component, with no struct to declare.
use_effect
Work done after a build, rerun when its dependencies change, with a cleanup.
use_interval
A timer owned by a component, on for as long as builds ask for it.
ValueNotifier, ChangeNotifier & their builders
State outside the widgets that tells whoever cares when it changed.
use_future & FutureBuilder
Work that finishes later: waiting, then the result.
use_stream & StreamBuilder
Work that gives several values as it goes, then finishes.
host::spawn & host::after
Slow work on another thread, and something to do after a delay.
keyed & Keyed
A stable identity, so a widget's state follows it when siblings move.
Theme
Reading the theme's colours and type, and switching light and dark.
Themed & ThemeBuilder
A different theme, or part of one, for one part of the screen.
MediaQuery & MediaScope
The screen's size, insets, text scale, brightness and size class.
Responsive, LayoutBuilder & OrientationBuilder
One interface, several layouts, by window or by box.
Locale & Localizations
The interface's language, and the words the framework says in it.