Skip to content

iOS Roadmap

  • Roadmap: https://roadmap.sh/ios

1. Pick a Language

  • 1.1.1 History and Why Swift?
  • 1.1.2 Benefits over Objective-C
  • 1.1.3 Swift Basics

1.2 Objective-C

  • 1.2.1 Objective-C Basics
  • 1.2.2 Interoperability with Swift

2. The Fundamentals

2.1 iOS Architecture

  • 2.1.1 Core OS
  • 2.1.2 Core Services
  • 2.1.3 Cocoa Touch

2.2 Media

  • 2.2.1 Core Graphics
  • 2.2.2 Core Animation
  • 2.2.3 AVFoundation
  • 2.2.4 Core Image
  • 2.2.5 Core Audio
  • 2.2.6 Metal

2.3 Core Programming Concepts

  • 2.3.1 OOP
  • 2.3.2 Functional Programming
  • 2.3.3 Memory Management
  • 2.3.4 ViewController Lifecycle
  • 2.3.5 Error Handling
  • 2.3.6 Concurrency (GCD, async/await)

3. Version Control

  • 3.1 Git
  • 3.2 GitHub

4. Xcode (App Components)

4.1 Setting Up

  • 4.1.1 Installing
  • 4.1.2 Preferences
  • 4.1.3 New Project

4.2 Navigating

  • 4.2.1 Interface overview
  • 4.2.2 Toolbar
  • 4.2.3 Navigators
  • 4.2.4 Editors
  • 4.2.5 Project Files
  • 4.2.6 Groups

4.3 Debugger

  • 4.3.1 Breakpoints
  • 4.3.2 Debug Navigator
  • 4.3.3 Stepping

4.4 Interface Builder

  • 4.4.1 IBOutlets
  • 4.4.2 IBActions
  • 4.4.3 Auto layout

5. UI Kit Basics

5.1 Components

  • 5.1.1 Views
  • 5.1.2 View Controllers
  • 5.1.3 User Interactions

5.2 Building Simple UIs

  • 5.2.1 Basic Interfaces
  • 5.2.2 Storyboards
  • 5.2.3 Xibs
  • 5.2.4 Navigation
  • 5.2.5 View Transitions

6. SwiftUI

6.1 Basics

  • 6.1.1 Declarative Syntax
  • 6.1.2 Components
  • 6.1.3 State Management
  • 6.1.4 Data binding

6.2 Simple UI Building

  • 6.2.1 Building Interfaces
  • 6.2.2 Views and Modifiers
  • 6.2.3 Navigation
  • 6.2.4 View Transitions

7. Interfaces and Navigation

7.1 HIG (UI Design)

7.2 UIKit

  • 7.2.1 Views, View Controllers
  • 7.2.2 Navigation Controllers, Segues
  • 7.2.3 Navigation Stacks
  • 7.2.4 Pushing Presenting
  • 7.2.5 Modals and Navigation

7.3 SwiftUI

  • 7.3.1 Navigation Stacks
  • 7.3.2 Navigation View
  • 7.3.3 NavigationLink
  • 7.3.4 Presenting / Dismissing views

7.4 Core Animation

  • 7.4.1 Lottie Basics / Creating Animations

8. Design Architecture

8.1 Architectural Patterns

  • 8.1.1 MVC
  • 8.1.2 MVP
  • 8.1.3 MVVM
  • 8.1.4 MVVM-C
  • 8.1.5 TCA
  • 8.1.6 VIPER

8.2 Reactive Programming

8.2.1 Combine

  • 8.2.1.1 Publishers / Subscribers
  • 8.2.1.2 Operators & Pipelines
  • 8.2.1.3 Combine and MVVM

8.2.2 RxSwift

  • 8.2.2.1 Observables & observers
  • 8.2.2.2 Subjects
  • 8.2.2.3 RxSwift with MVVM
  • 8.2.2.4 Operators
  • 8.2.2.5 Schedulers

8.3 Patterns and Techniques

8.3.1 Delegate Pattern

  • 8.3.1.1 Implementing Delegates

8.3.2 Callbacks / Closures

  • 8.3.2.1 Understanding and using Closures
  • 8.3.2.2 Capturing Values & Memory Mgmt.
  • 8.3.2.3 Callback Hell

8.3.3 Async / Await

8.3.4 Concurrency

9. Storage / Data Persistence

  • 9.1 Core Data
  • 9.2 User Defaults
  • 9.3 Keychain
  • 9.4 File System
  • 9.5 SQLite

10. JSON / XML

  • 10.1 Parsing
  • 10.2 Serializing

11. Networking

  • 11.1 HTTP / HTTPS
  • 11.2 REST
  • 11.3 GraphQL
  • 11.4 URLSession
  • 11.5 Alamofire

12. Concurrency and Multithreading (Asynchronism)

  • 12.1 GCD
  • 12.2 Operation Queues

13. Dependency Manager

  • 13.1 CocoaPods
  • 13.2 Carthage
  • 13.3 Swift Package Manager

14. Frameworks & Library

  • 14.1 XCFramework
  • 14.2 Static Library
  • 14.3 Dynamic Library

15. Accessibility

  • 15.1 Accessibility Inspector
  • 15.2 Voice Over
  • 15.3 Dynamic Type

16. Common Services / Frameworks

  • 16.1 ARKit
  • 16.2 HealthKit
  • 16.3 GameKit
  • 16.4 MapKit
  • 16.5 Core ML

17. Linting (Code Quality Tools)

  • 17.1 SwiftLint
  • 17.2 Tailor
  • 17.3 SwiftFormat

18. Debugging (Debugging Techniques)

  • 18.1 Xcode Debugger
  • 18.2 Profiling Instruments

19. Testing

  • 19.1 Unit & UI Testing
  • 19.2 XCTest
  • 19.3 XCUITest
  • 19.4 Test Plan & Coverage

20. App Distribution

  • 20.1 FastLane
  • 20.2 TestFlight
  • 20.3 App Store Distribution

21. CI / CD

  • 21.1 Jenkins
  • 21.2 CircleCI
  • 21.3 GitHub Actions
  • 21.4 GitLab
  • 21.5 Azure DevOps

22. App Store Optimization (ASO)

23. Continuous Learning (Keeping Updated with WWDC)

  • 23.1 Latest Swift Version
  • 23.2 Latest iOS SDK
  • 23.3 New Feature Announcements