Modern iOS Development with SwiftUI and Combine [Day one]

Course Description

The SwiftUI and Combine frameworks will completely alter the way you write iOS, watchOS, and macOS apps. Join Daniel Steinberg for two jam packed, hands-on days which will introduce you to the most important aspects of adopting SwiftUI and Combine, and leave you confident using the features in your own apps.

Apple’s new releases provide a simple and elegant way to build user interfaces in a declarative way across all their platforms using a single set of tools and APIs.

Learn to replace familiar UIKit components with SwiftUI’s Text and Image, create a seamless, robust interface utilising the framework’s tools, create custom components and how to immediately apply Combine to experiment, and reinforce your functional skills.

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.

Program Outline:

The course will include material taken from the following.

  • Understand the basics of a UIKit app that are being replaced by SwiftUI.
  • Create a flexible and attractive User Interface using SwiftUI
  • Understanding communication among components in this world without view controllers.
  • Master new features in Swift including property wrappers and function builders
  • Share data in your app using properties, State, Bindings, Environment, and Observable objects.
  • Create multi-scene applications and polish your interface
  • Patterns and current best practices for Swift UI.
  • Using Combine in our current world of UIKit.
  • Integrating Combine in SwiftUI.
  • Using built in publishers including Notifications, URLSessions, 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.

Target Audience

This course is designed for experienced programmers who are new to SwiftUI and Combine but who are experienced in Swift. This is for developers and teams who are preparing to target iOS 13 or Mac OS Catalina.


We assume that you are an experienced programmer who is familiar with the Swift programming language. Even if you are new to Swift, you should be able to follow along. 


In order to take part in this course you will need to bring a Mac running the latest public version of Xcode 11. If you have an iOS device and would like to view the projects on your device instead of in the simulator, make sure you have all your credentials set up.


Session info:

Speaker: Daniel Steinberg

Storyteller at Dim Sum Thinking at Dim Sum Thinking

Date: 15 September 2020

Time: 13:30 - 17:00

Relevant tags:
iOS Swift

See all speakers

See all videos