Let's think about this for a moment
Flutter/React Native (covered in other tutorials) target both Android and iOS with a single codebase — native development, on the other hand, is iOS-only, using Apple's official language (Swift) and official SDK (UIKit/SwiftUI) directly. The advantage of native apps is being able to immediately adopt new iOS-specific features (Face ID, Apple Pay, widgets), better performance, and precise adherence to Apple's Human Interface Guidelines — the downside is you'll need to write a separate Android version (no code sharing).
Let's connect this to a real-world scenario
Instagram, Uber, and even Apple's own apps (Mail, Notes) are all built natively (Swift for iOS, Kotlin for Android) — native has the edge for apps that need smooth animations, camera integration, and iOS-specific features like widgets and Face ID. For a startup/MVP that wants to launch on both platforms at once, Flutter might make more sense — it really comes down to your dev team's resources and the app's requirements.
Let's look at it together
Native (this tutorial):
Swift + iOS SDK (SwiftUI), iOS-only, best performance/feature access
Cross-platform (Flutter tutorial):
One codebase -> Android + iOS, faster to ship both,
slightly less direct platform-feature accessYou should be able to explain the trade-offs between native and cross-platform development.Try it in 5 minutes
Pick an app idea (for example, a Face ID-authenticated notes app), decide whether you'd build it native (iOS-only) or with Flutter (Android+iOS), and write three sentences explaining why.
A quick word of caution
This tutorial assumes you already know the basics of Swift syntax — if you're completely new to Swift, you should go through the site's Swift tutorial first. Also, keep in mind that iOS development only runs on macOS + Xcode (it won't run on Windows/Linux).