A structured learning guide for iOS development, designed for developers transitioning from Flutter (Dart) and Android (Kotlin).
- Swift language fundamentals (optionals, structs, protocols, closures, error handling)
- SwiftUI vs UIKit — when to use each, with Flutter comparisons
- Architecture & state management (MVVM, @Observable, DI)
- App lifecycle (SwiftUI & UIKit)
- Memory management (ARC, retain cycles, weak/unowned)
- Swift concurrency (async/await, Task, actors)
- Navigation patterns (NavigationStack, NavigationSplitView)
- Environment & dependency injection
- App signing, provisioning & App Store submission
- Key pitfalls for Flutter/Android developers
Developers with Flutter or Android experience who want to learn iOS development with SwiftUI. Every section includes direct comparisons to Dart, Flutter widgets, and Kotlin patterns.