Why this matters
SwiftUI makes the interface a consequence of state. It is a place to study native hierarchy and behavior without forgetting the data, playback, access, and operational owners beneath the surface.
Concepts to learn
- Views, composition, state, and observation
- Navigation, layout, gestures, and animation
- Accessibility and degraded states
- Local persistence and native sharing
- Widgets, Live Activities, and App Intents
Apply It in Casset
Casset is the working environment for this skill—not the curriculum itself.
- Build artist profiles, releases, tracks, saved Cassets, and artwork caching as projections of existing canonical data.
- Create native playback controls that command the existing playback owner instead of introducing a competing playback system.
- Explore offline metadata, a listening widget, a Live Activity, and App Intents only after the primary catalog loop is reliable.
Suggested project
Native Casset companion
A calm native listening companion that preserves Casset's existing runtime and playback ownership.
Open project notebookEvidence of completion
These are completion conditions, not claimed achievements. Each stays planned until it links to a real artifact or verification.
- implementationA coherent profile → release → track native flowplanned
- testsState, navigation, accessibility, and failure coverageplanned
- TestFlightA TestFlight build used on a real deviceplanned
- observationNotes from watching someone navigate and recover from one failureplanned
Open questions
- Which part of a Profile World becomes more meaningful when it is truly native?
- How should web and native share product ownership without sharing every implementation detail?
Related notes
Books, talks, and useful things
- articleThinking in SwiftUIobjc.io
- talkWhat’s new in SwiftUIWWDC
Reflection journal
A native companion should let the device change the idea while leaving the product's canonical truths intact.