iOS Development with Swift
SwiftUI, data flow, networking and shipping to the App Store.
Taught by Prerana Joshi · Mobile Developer
What you'll learn
- Write safe, idiomatic Swift using optionals, value types, protocols and async/await
- Compose SwiftUI screens from views, modifiers, stacks and lists with live previews
- Manage state with @State, @Binding, @Observable models and the environment
- Navigate between screens with NavigationStack, sheets and tab bars
- Fetch and decode JSON from a REST API with URLSession and Codable
- Persist data with SwiftData, test the app, and publish it via TestFlight and App Store Connect
About this course
Learn iOS app development with Swift and SwiftUI by building a real app and shipping it through TestFlight to the App Store. This course is for developers who already know one programming language and want to add Apple's platform to their skill set. You will learn Swift fundamentals such as optionals, structs, protocols and async/await, then build screens with SwiftUI views and modifiers, manage state with the Observation framework, navigate with NavigationStack, fetch JSON with URLSession, and persist data with SwiftData. The final lessons cover unit and UI testing with Swift Testing and XCTest, App Store Connect, TestFlight beta distribution and the review guidelines that trip up first submissions. You need a Mac running a current Xcode; an iPhone is helpful but the simulator is enough for every exercise. No prior Swift or iOS experience is required.
Course content
7 lessons- 1Swift Foundations for App DevelopersInstall Xcode and learn the Swift features that shape every iOS app: optionals, structs, enums and protocols.Preview
- 2Building Views with SwiftUICompose screens from views, modifiers, stacks and lists, and iterate quickly with Xcode previews.
- 3State and Data FlowOwn state with @State, share it with @Binding, and model app data with @Observable classes.
- 4Navigation and App StructureMove between screens with NavigationStack, present sheets, and organise the app with a TabView.
- 5Networking with URLSession and async/awaitFetch JSON from a REST API with URLSession, decode it with Codable, and show loading and error states.
- 6Persistence with SwiftDataStore tasks on device with SwiftData models, queries and a model container, and migrate the schema safely.
- 7Testing, TestFlight and the App StoreWrite unit and UI tests, distribute betas with TestFlight, and submit a build that passes App Review.