Skip to content
Educora

Swift

For iPhone, iPad and Mac apps

Learn programming from scratch with Swift, Apple's modern language: from constants and types to optionals, collections, closures, structs and protocols. Every example shows exactly what the code prints. By the end you will understand how iPhone apps are built with SwiftUI and be ready to start your own project in Xcode.

14 lessons4 modules≈ 4.5 hBeginnerIntermediateAdvanced
Progress0%

0 of 14 lessons completed

Start course

What is Swift? Your first program

Course content

All tests · 10Formulas & shortcuts
4

iOS app development

Advanced

Build screens with SwiftUI in Xcode, manage data flow, navigate between screens, load data from the internet and save it with SwiftData, then take your app through TestFlight to the App Store.

6 lessons
  1. 9Xcode and your first iOS appInstall Xcode, create a SwiftUI project, understand the project structure, see the screen in previews, and run the app in the simulator and on your own iPhone.
  2. 10SwiftUI views and layoutAssemble a screen from small View structs: change the look with modifiers, arrange elements with VStack, HStack and ZStack, build a List and a Form, and use SF Symbols icons.
  3. 11State and data flowKeep state in SwiftUI with `@State`, pass it to child views with `@Binding`, create a model with the `@Observable` macro, share it through `@Environment` and structure the app in the MVVM style.
  4. 12Navigation and listsMove between screens with NavigationStack and navigationDestination, control the path in code, open sheets, and build editable lists from Identifiable items with ForEach.
  5. 13Networking and persistenceTurn JSON into Swift types with Codable, load data from a server with URLSession and async/await, show the result on screen, and save notes on the device with SwiftData.
  6. 14Publishing and best practicesGive your app a version and build number, sign it and upload it to App Store Connect, test it with TestFlight and publish it on the App Store; write tests with Swift Testing and check accessibility for VoiceOver and Dynamic Type.