When I wrote this post in 2020, I was learning SwiftUI and Combine. Both frameworks from Apple were amazing and pleasant to learn.
I made an iOS app named The Airliners to practice what I had learned. It provides brief information about the Boeing 7x7 aircraft series, using data sourced from Wikipedia.
The app was simple at the time, with only two screens. Its business logic used SwiftUI property wrappers such as @State, @Environment, and @ObservedObject. I planned to add more features as I learned.
Update (2026): For new SwiftUI code, prefer the Observation framework where it is available: use
@Observablemodels with@Statefor view-owned state and@Environmentfor models supplied by an ancestor.@StateObject,@ObservedObject, and@EnvironmentObjectremain appropriate when working withObservableObject-based code.
The source code for the app can be found here.