Composing interfaces.
WHAT THE BASIC CONTAINERS ARE
Vertical and horizontal stacks Overlapping stacks Lazy stacks and grids, for long content Lists, for rows of data
WHAT LAZY MEANS
Only visible content is created.
WHY IT MATTERS
Creating thousands of views is slow regardless of framework.
HOW LAYOUT WORKS
A parent proposes a size; a child chooses its size; the parent positions it.
WHY UNDERSTANDING THAT MATTERS
Most layout confusion comes from expecting the parent to impose a size.
WHAT MODIFIERS DO
Return a modified view, so order matters.
WHAT THAT LOOKS LIKE
Padding applied before a background colours a different area than after.
WHAT TO USE FOR FLEXIBLE SPACE
Spacers and frame constraints, rather than fixed offsets.
WHAT TO AVOID
Fixed sizes for anything containing text Hard-coded positions Very deeply nested view structures
WHAT TO EXTRACT
Repeated structure into its own view.
WHY
It is clearer, and it helps the framework update efficiently.
WHAT TO USE FOR IDENTITY IN LISTS
A stable identifier from the data.