Why this matters
Swift is a specialization, not an escape from the web. Learning it after TypeScript, runtime ownership, data, and operations creates a better chance of building native software that is both expressive and dependable.
Concepts to learn
- Syntax, optionals, enums, and data modeling
- Protocols and generics
- Typed error handling
- Async/await and networking
- Testing and dependency boundaries
Apply It in Casset
Casset is the working environment for this skill—not the curriculum itself.
- Build a small typed client for the existing Casset API rather than inventing a second data model.
- Model artist, release, track, access, and failure states with Swift enums and explicit errors.
- Verify API decoding and degraded states against real and fixture responses.
Suggested project
Native Casset companion
Begin with a read-only Swift client that can fetch and render one artist catalog reliably.
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 small working Swift client using the existing public contractsplanned
- testsDecoding, networking, cancellation, and failure testsplanned
- reflectionA comparison of Swift and TypeScript state modelingplanned
Open questions
- Which existing contracts are stable enough to become native dependencies?
- Where should the native client adapt web-shaped data, and where should the API improve?
Related notes
Books, talks, and useful things
- bookThe Swift Programming LanguageApple
- courseDevelop in SwiftApple
Reflection journal
The goal is not to translate JavaScript habits into Swift. It is to bring the same ownership discipline into a different grain.