Modern iOS Development with SwiftUI and Combine

Topics covered at SWIFTUI-COMBINE-01-02
View Schedule & Book More dates available

Next up:


Want to create flexible and highly-interactive user experiences, while effectively managing the abundance of real-time events required? Join this hands-on, deep dive course and learn to create seamless, robust interfaces with SwiftUI and manage state over time with declarative framework Combine.

If you're finding problems using storyboards and XIBs in your iOS development with source control, and struggling with movement between code and visual layouts and ureliable connections using actions and outlets, Apple's new releases will completely alter the way you write apps. SwiftUI and Combine Swift provide an elegant way to build user interfaces for in a declarative way across all Apple platforms using a single set of tools and APIs, to dramatically simplify the process.

This Modern iOS Development course will show you how to replace familiar UIKit componenets with SwiftUI's Text and Image, create a seamless, robust interace utilising the framework's tools, create custom components, and immediately apply Combine to experiment and reinforce your functional skills.

You'll gain real experience with the most important aspects of adopting the new framework and leave feeling confident in using the features in your own apps.

Learn how to:

  • Replace familiar UIKit display components with SwiftUI’s Text, Image.
  • Work with controls such as Buttons, Sliders, Pickers and TextFields.
  • Work with containers such as VStack, HStack, ZStack and GeometryReader.
  • Draw with shapes such as Circle, Rectangle and Path.
  • Navigate with sheets, tabs and navigation controls.
  • Focus on data flow using state, bindings, observed objects, and environment.
  • Create custom components of your own and experiment with new Swift features such as property wrappers and function builders.
  • Use Combine in UIKit apps so that you can see how to apply this new framework immediately and use Combine in SwiftUI apps to experiment with the future.
  • Use existing Publishers and create your own.
  • Use standard Subscribers and create your own.
  • Use Operators to convert publishers of one type to the publishers your subscribers need.
  • Reinforce your functional skills as you apply filter, zip, map and flatMap.

About the Author

Daniel Steinberg

Daniel is the author of the best selling books 'A Swift Kickstart' and 'Developing iOS 7 Apps for iPad and iPhone' (the official companion book to the popular iTunes U series from Stanford University).


The Modern iOS Development with SwiftUI and Combine course will cover the following modules:

  • The basics of the UIKit apps which are being replaced by SwiftUI
  • Creating a flexible and attractive User Interface using SwiftUI
  • Understanding communication among components in this world without view controllers
  • Mastering new features in Swift including property wrappers and function builders
  • Sharing data in your app using properties, State, Bindings, Environment, and Observable objects
  • Creating multi-scene applications and polish your interface
  • Patterns and current best practices for SwiftUI
  • Using Combine in our current world of UIKit
  • Integrating Combine in SwiftUI
  • Using built in publishers incluing Notifications, URLSesions, and Core Data
  • Creating your own publishers
  • Using convenience subscribers such as sink and assign
  • Creating your own subscribers
  • Adapting publishers to subscribers using operators



Are you an experienced programmers who is new to SwiftUI and Combine but experienced in Swift? Or a developer or development team preparing to target iOS 13 or Mac OS Catalina? This course is for you!


Delegates of this Modern iOS Development with SwiftUI and Combine class should be experienced programmers and ideally will be familiar with the Swift programming language.

*If you are new to Swift, you should also be able to follow along.

Bring your own hardware

You are invited to bring your own laptop to this course so that you can learn using an environment you are used to, your preferred tools, languages and IDE, and can focus on learning the new concepts and skills covered in this course.

You will require a Mac running the latest public version of Xcode 11. If you have an iOS device and would like the view the projects on your deviceinstead of the simulator, please ensure you have all of your credentials set up in advance.

If you are unable to bring your own laptop please let us know at least 2 weeks prior to your attendance of this course so that our team can assist.