Free Course Image iOS application development

Free online courseiOS application development

Duration of the online course: 22 hours and 10 minutes

4

StarStarStarStar

(3)

Build real iOS apps with SwiftUI—learn modern UI, MVVM, animation and persistence in a free course and level up your mobile developer skills.

In this free course, learn about

  • SwiftUI basics: app structure, views, modifiers, and declarative UI mindset
  • Building reusable views like CardView and composing interfaces from small components
  • MVVM in SwiftUI: roles of Model, ViewModel, View; benefits for testing and separation
  • Swift type system essentials: structs, generics, protocols, and protocol inheritance
  • Implementing game logic (Memorize): model rules, intent functions, and state updates
  • Layout & view construction: properties, @ViewBuilder, and why SwiftUI Views are read-only
  • Custom drawing: Shapes, ViewModifier usage, and styling patterns
  • Animation in SwiftUI: implicit animation via withAnimation and modifier-driven transitions
  • Drag & drop and gestures: handling user interaction in EmojiArt-style apps
  • Multithreading in SwiftUI: keeping UI responsive, background work, and main-thread updates
  • Error handling & persistence: throws/try, saving documents, and storing app state
  • State management tools: property wrappers, bindings, sheets, navigation, and edit mode
  • Combine basics: Publisher protocol and using reactive streams with SwiftUI
  • Architecture & integration: document-based apps, scene types, UIKit bridging, multiplatform setup

Course Description

Want to turn app ideas into polished iPhone and iPad experiences? This free online course guides you through modern iOS application development using SwiftUI, Apple’s declarative UI framework, so you can design interfaces faster, iterate confidently, and ship features with a clear architecture.

You’ll begin with the essentials of SwiftUI and quickly move beyond basics into the patterns that make apps maintainable. You’ll practice building views the SwiftUI way, understanding why the UI is described as a function of state and why views are treated as read-only snapshots. From there, you’ll develop a strong foundation in MVVM, learning how to separate UI from business logic so your code remains testable, scalable, and easier to change as your app grows.

As you progress, you’ll connect layout and composition with reusable components, explore shapes and protocols, and learn how Swift’s type system supports safer app development. You’ll also dive into view modifiers, gestures, and animation, gaining the ability to add smooth interactions that make an app feel responsive and professional.

Practical building is a core focus. You’ll work through app-style projects that reinforce state management, user interaction, drag and drop, and document-style workflows. Along the way, you’ll encounter multithreading concepts for keeping the interface fluid, plus robust error handling and persistence strategies so data can live beyond a single session.

By the end, you’ll understand how to navigate common SwiftUI app structures, work with bindings and navigation, integrate with UIKit when necessary, and think through multi-platform considerations when targeting iOS and macOS. If you’re aiming for a portfolio project, a first mobile developer role, or a modern upgrade from UIKit-only workflows, this course gives you a solid, hands-on path to building with SwiftUI.

Course content

  • Video class: Lecture 1: Getting started with SwiftUI 1h21m
  • Exercise: What is the course CS193p about?
  • Video class: Lecture 2: Learning more about SwiftUI 1h25m
  • Exercise: _What is the purpose of creating a CardView in SwiftUI?
  • Video class: Lecture 3: MVVM and the Swift type system 1h35m
  • Exercise: _What is MVVM and why is it important in SwiftUI?
  • Video class: Lecture 4: Memorize Game Logic 1h31m
  • Exercise: _What is the next step after building the Model and ViewModel for the Memorize game in lecture three of CS193p?
  • Video class: Lecture 5: Properties Layout @ViewBuilder 1h25m
  • Exercise: _Why are Views in SwiftUI read-only?
  • Video class: Lecture 6: Protocols Shapes 1h22m
  • Exercise: _What is protocol inheritance?
  • Video class: Lecture 7: ViewModifier Animation 1h10m
  • Exercise: _What is the most common way to do animation in SwiftUI?
  • Video class: Lecture 8: Animation Demonstration 1h24m
  • Exercise: _What is the purpose of the shuffle button in the game demonstrated in Lecture 8 of Stanford CS193p Spring 2021?
  • Video class: Lecture 9: EmojiArt Drag and Drop Multithreading 1h32m
  • Exercise: _What is the purpose of the function index(matching:)?
  • Video class: Lecture 10: Multithreading Demo Gestures 1h25m
  • Exercise: _What is the purpose of the "found" variable in the EmojiArt demo shown in Lecture 10 of Stanford CS193p?
  • Video class: Lecture 11: Error Handling Persistence 1h45m
  • Exercise: _What does the keyword "throws" mean in SwiftUI functions?
  • Video class: Lecture 12: Bindings Sheet Navigation EditMode 1h50m
  • Exercise: _What is a property wrapper in SwiftUI?
  • Video class: Lecture 13: Publisher More Persistence 1h00m
  • Exercise: _What is the Publisher protocol in Swift?
  • Video class: Lecture 14: Document Architecture 1h17m
  • Exercise: _What are the two main SwiftUI Scene-building Scenes that are usually used?
  • Video class: Lecture 15: UIKit Integration 1h15m
  • Exercise: _What is the main difference between views in SwiftUI and UIKit?
  • Video class: Lecture 16: Multiplatform (macOS iOS) 46m
  • Exercise: _What is the instructor's recommendation when creating a multi-platform app in Xcode?

This free course includes:

22 hours and 10 minutes of online video course

Digital certificate of course completion (Free)

Exercises to train your knowledge

100% free, from content to certificate

Ready to get started?Download the app and get started today.

Install the app now

to access the course
Icon representing technology and business courses

Over 5,000 free courses

Programming, English, Digital Marketing and much more! Learn whatever you want, for free.

Calendar icon with target representing study planning

Study plan with AI

Our app's Artificial Intelligence can create a study schedule for the course you choose.

Professional icon representing career and business

From zero to professional success

Improve your resume with our free Certificate and then use our Artificial Intelligence to find your dream job.

You can also use the QR Code or the links below.

QR Code - Download Cursa - Online Courses

More free courses at App Development

Free Ebook + Audiobooks! Learn by listening or reading!

Download the App now to have access to + 5000 free courses, exercises, certificates and lots of content without paying anything!

  • 100% free online courses from start to finish

    Thousands of online courses in video, ebooks and audiobooks.

  • More than 60 thousand free exercises

    To test your knowledge during online courses

  • Valid free Digital Certificate with QR Code

    Generated directly from your cell phone's photo gallery and sent to your email

Cursa app on the ebook screen, the video course screen and the course exercises screen, plus the course completion certificate