Learning the basics of SwiftUI by writing a simple iOS app

April 12, 2020 · Last updated July 25, 2026

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 Airliners app screenshot

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 @Observable models with @State for view-owned state and @Environment for models supplied by an ancestor. @StateObject, @ObservedObject, and @EnvironmentObject remain appropriate when working with ObservableObject-based code.

The source code for the app can be found here.