iOS App Development with Swift and SwiftUI: Beginner to Job-Ready Projects

Free iOS development course for beginners. 15 lessons on Swift, SwiftUI, Codable and URLSession, SwiftData, MVVM, testing, TestFlight and App Store release.

Beginner · 15 lessons

Getting Started

  1. What Is iOS Development? Xcode and Your First iPhone App - Learn what an iOS developer does, what you need (a Mac and Xcode), how Swift and SwiftUI fit together, and how to build and run your first iPhone app.

Swift Basics

  1. Swift Basics: let, var, Types, if, switch and Loops - Learn how Swift stores values with let and var, its main types, string interpolation, arrays, dictionaries, and how to make decisions and repeat work.
  2. Swift Functions and Closures: map, filter and reduce - Learn to write Swift functions with argument labels and default values, then closures, trailing closure syntax and the map, filter, sorted and reduce helpers.
  3. Swift Structs, Classes, Enums and Protocols Explained - Understand value types and reference types, how to model data with structs and enums, share behaviour with protocols, and add features with extensions.
  4. Swift Optionals and Error Handling: if let, guard and try - Learn why Swift has optionals, how to unwrap them safely with if let, guard let and ??, and how to throw, catch and handle errors with do, try and catch.

SwiftUI

  1. SwiftUI Views, Modifiers and Stacks: Build a Layout - Learn how SwiftUI builds screens from small views, how modifiers and their order change the result, and how VStack, HStack, ZStack and Spacer lay things out.
  2. SwiftUI State and Binding: @State, Button and TextField - Learn how SwiftUI remembers data with @State, shares it with child views through @Binding, and connects buttons, text fields and toggles with the dollar sign.
  3. SwiftUI Lists, NavigationStack and Sheets - Build a list screen with List and ForEach, move to a detail screen with NavigationStack, open an add screen in a sheet, and let users swipe to delete.
  4. SwiftUI Forms, Pickers, Validation and Animation - Build a proper settings-style form with Picker and DatePicker, check the input before saving, show errors clearly, and add smooth animation with withAnimation.

Concurrency

  1. Swift Concurrency: async/await, Task, Actors and @MainActor - Learn why apps must not block the main thread, how async and await work, how to start work with Task and the task modifier, and what actors and @MainActor do.

Data and Networking

  1. URLSession and Codable: Call a REST API from SwiftUI - Learn how to read JSON with Codable, call a web API with URLSession and async/await, handle bad responses, and show loading, result and error states in SwiftUI.
  2. SwiftData: Save and Query Data on the iPhone - Make the Expense Tracker remember its data with SwiftData: the Model macro, ModelContainer, Query, insert, delete, sorting, filtering and AppStorage.

Architecture and Testing

  1. MVVM in SwiftUI: @Observable, Dependency Injection and Clean Code - Move logic out of views with MVVM, use the Observable macro, inject services through protocols, and meet MVC, VIPER, Clean Architecture and Repository.
  2. Testing iOS Apps: Swift Testing, XCTest and XCUITest - Write unit tests with Swift Testing and XCTest, test a view model with a fake service, automate taps with XCUITest, and learn what Quick and Nimble are.

Shipping and Career

  1. Publish Your iOS App: TestFlight, App Store, CI/CD and Interviews - Prepare an app for release, send it to testers with TestFlight, submit it to the App Store, learn what UIKit, Instruments and CI/CD do, and plan a portfolio.