← All Courses
Learn Swift
Coming SooniOS, macOS, and server-side development
Swift SwiftUI iOS macOS Vapor
Coming Soon
The language of Apple’s ecosystem. iOS apps, macOS applications, watchOS, tvOS, and server-side Swift (Vapor) — all with a modern, safe, and expressive language designed for performance.
This course covers Swift from fundamentals through SwiftUI and UIKit to building and shipping apps on the App Store.
Start Here — Learning Roadmap
A suggested path from zero to mastery. Follow these steps in order:
- Learn Swift Basics — Start with variables, types, optionals, control flow, and functions using The Swift Programming Language guide or Swift Playgrounds
- Understand Swift’s Type System — Master structs vs classes, enums with associated values, protocols, and generics
- Start with SwiftUI — Learn declarative UI with views, modifiers, state management (@State, @Binding, @Observable), and previews
- Build Simple Apps — Create a to-do app, weather app, or calculator to practice navigation, lists, forms, and user input
- Learn Data Persistence — Use SwiftData (or Core Data), UserDefaults, and the Codable protocol for JSON handling
- Study App Architecture — Understand MVVM, dependency injection, and how to structure a maintainable SwiftUI app
- Handle Networking — Build apps that consume REST APIs using URLSession, async/await, and proper error handling
- Explore Advanced SwiftUI — Master animations, custom views, Canvas, gestures, and platform-specific adaptations
- Learn UIKit (Optional) — Understand UIKit for legacy codebases and features not yet in SwiftUI (camera, MapKit customization)
- Ship to the App Store — Configure signing, TestFlight distribution, App Store Connect, and handle App Review guidelines
Official & Core Documentation
- The Swift Programming Language — Official Swift language guide covering every feature with examples (Beginner)
- Apple Developer Documentation — Complete reference for SwiftUI, UIKit, and all Apple frameworks (All levels)
- Swift Standard Library — API reference for Swift’s built-in types, protocols, and functions (All levels)
- Swift Playgrounds — Learn Swift interactively on iPad and Mac with guided lessons (Beginner)
- Swift.org — Official Swift open-source project with evolution proposals and community resources (All levels)
- Apple Human Interface Guidelines — Design principles for building great Apple platform apps (Beginner)
- SwiftUI Tutorials (Apple) — Official step-by-step SwiftUI tutorials from Apple (Beginner)
- Swift Evolution — Track upcoming Swift language changes and proposals (Advanced)
- iOS Developer Roadmap — Community-created visual roadmap for iOS developers (Beginner)
GitHub Awesome Lists & Curated Collections
- awesome-swift — Collaborative list of awesome Swift libraries and resources, well-maintained and comprehensive
- awesome-ios — Massive curated list of the iOS ecosystem including Objective-C and Swift projects
- awesome-swiftui — Curated resources, articles, and libraries specifically for SwiftUI development
- awesome-swift-playgrounds — Curated list of Swift Playgrounds for learning and experimentation
- open-source-ios-apps — Collaborative list of open-source iOS, watchOS, and tvOS apps for learning
- awesome-ios-architecture — Curated list of iOS architecture patterns, approaches, and best practices
Interactive Courses & Hands-On Platforms
Free Courses
- Hacking with Swift — 100 Days of SwiftUI — Free daily projects building 19+ real apps, the most recommended free Swift course (Beginner)
- Stanford CS193p — Stanford’s free iOS development course using SwiftUI, taught by Paul Hegarty (Intermediate)
- Apple Education — Develop in Swift — Free curriculum from Apple for building apps with SwiftUI (Beginner)
- Hacking with Swift — Swift Playground — Free coding challenges and experiments in Swift (Beginner)
University & MOOC Courses
- Kodeco (formerly Ray Wenderlich) — Extensive tutorials, books, and video courses for Apple platforms (Beginner, Paid)
- Codecademy — Learn Swift — Interactive beginner Swift course in the browser (Beginner, Paid)
- Credo Academy — SwiftUI, SwiftData, and Apple AI courses (Intermediate, Paid)
- Hacking with Swift+ — Premium content including live streams, challenges, and advanced tutorials (Intermediate, Paid)
Practice & Challenges
- Exercism Swift Track — Mentored Swift exercises with community feedback (Beginner)
- Codewars Swift — Progressive coding challenges in Swift (All levels)
- LeetCode Swift — Algorithm challenges with Swift support (Intermediate)
- Swift Coding Challenges (HWS) — Paul Hudson’s collection of Swift challenges (Intermediate)
Video Courses & YouTube Channels
Structured Course Playlists
- Apple WWDC Videos — Official sessions from Apple engineers introducing new features each year (All levels)
- Stanford CS193p on YouTube — Full Stanford iOS course freely available on YouTube (Intermediate)
- Paul Hudson (Hacking with Swift) — Prolific SwiftUI and Swift content from the creator of 100 Days of SwiftUI (Beginner)
Individual Creators & Channels
- Sean Allen — Swift and iOS development tutorials, career advice, and app reviews (Beginner)
- Stewart Lynch — In-depth SwiftUI tutorials and deep dives into Apple frameworks (Intermediate)
- Kavsoft — Beautiful SwiftUI UI recreations and animation tutorials (Intermediate)
- Swiftful Thinking — SwiftUI tutorials with bootcamp-style progressive learning (Beginner)
- Vincent Pradeilles — Swift language features and iOS development tips (Intermediate)
- Letsbuildthatapp — Full iOS app builds from design to deployment (Intermediate)
- Azam Sharp — SwiftUI, SwiftData, and modern iOS development patterns (Intermediate)
- iOS Academy — iOS development tutorials covering UIKit, SwiftUI, and real app builds (Beginner)
- CodeWithChris — Beginner-friendly iOS and SwiftUI tutorials with project-based learning (Beginner)
- WWDC Sessions (yearly) — All sessions from Apple’s Worldwide Developer Conference, free to watch (All levels)
Books & Long-Form Reading
Free Online Books
- The Swift Programming Language — Apple’s official free Swift language guide (Beginner)
- Hacking with Swift (free online) — Paul Hudson’s free online book with 39 Swift projects (Beginner)
- Server-Side Swift (Vapor) — Official Vapor documentation for building server-side Swift applications (Intermediate)
- Swift by Sundell — Free articles covering Swift tips, patterns, and best practices (Intermediate)
- Develop in Swift (Apple) — Free official Apple tutorials for learning Swift development (Beginner)
- App Development with Swift (Apple) — Free Apple Books curriculum for app development (Beginner)
Essential Paid Books
- Swift Programming (Big Nerd Ranch) — Comprehensive Swift language guide with exercises (Beginner, Paid)
- SwiftUI by Tutorials (Kodeco) — Hands-on SwiftUI learning through building real apps (Beginner, Paid)
- iOS Programming (Big Nerd Ranch) — The classic iOS development guide, updated regularly (Intermediate, Paid)
- Swift in Depth — Tjeerd in ‘t Veen’s guide to advanced Swift patterns and techniques (Advanced, Paid)
- Thinking in SwiftUI — Chris Eidhof’s mental model guide for SwiftUI development (Intermediate, Paid)
Community, Practice & News
Forums & Discussion
- Swift Forums — Official Swift evolution and community discussion forum
- r/swift — Active Reddit community for Swift developers
- r/iOSProgramming — Reddit community for iOS development discussion
- Hacking with Swift Forums — Community forums for Swift learners and developers
- Stack Overflow — Swift — Q&A archive for Swift questions
Newsletters & Blogs
- iOS Dev Weekly — The best iOS development links every Friday, curated by Dave Verwer
- Swift Weekly Brief — Community-driven weekly brief about the Swift.org open-source projects
- Hacking with Swift Blog — Frequent articles on Swift and SwiftUI development
- Swift by Sundell — Weekly articles and tips about Swift development
- SwiftLee Blog — Weekly blog about Swift, iOS, and Xcode tips and tricks
Package Registries & Ecosystems
- Swift Package Index — Discover and evaluate Swift packages for your projects
- CocoaPods — Dependency manager for Swift and Objective-C projects (legacy but widely used)
- Swift Package Manager — Apple’s official dependency management tool built into Xcode
Tools & Environments
- Xcode — Apple’s official IDE for Swift development with Interface Builder, simulators, and profiling
- Swift Playgrounds — Interactive learning environment for Swift on iPad and Mac
- VS Code + Swift Extension — Lightweight editor with Swift LSP support for cross-platform development
- Instruments — Apple’s performance analysis and testing tools built into Xcode
- SwiftLint — Enforce Swift style and conventions with configurable lint rules
- SwiftFormat — Automatic code formatting for Swift following configurable rules
- Periphery — Detect unused code in Swift projects to keep codebases clean
- Proxyman — macOS app for debugging HTTP/HTTPS network requests from your iOS apps
- Tuist — Project generation and management tool for Xcode projects at scale
- Fastlane — Automate iOS builds, testing, screenshots, and App Store deployment
- TestFlight — Apple’s beta testing platform for distributing pre-release builds