Creating Multiplatform Apps with SwiftUI
Learn how to build an app for multiple platforms including iOS, iPadOS, macOS, watchOS and tvOS all by leveraging the power of Swift and SwiftUI. Build a task timing app that keeps track of your favorite tasks and how long you need to complete them. By Jonathan S Wong.
Who is this for?
This course is for iOS developers who want to leverage their SwiftUI skills to build an app that runs on iOS, iPadOS,
macOS, watchOS and tvOS. This course will be most helpful to developers who are comforatable
with Swift and SwiftUI. No macOS, watchOS, or tvOS experience is required.
Covered concepts
- SwiftUI
Part 1: iOS, iPadOS & macOS Apps in SwiftUI
Understand the App lifecycle, the multiplatform app project structure, how to run the app on various platforms and how to reset your development data on both iOS and macOS.
There’s no one size fit all app. In this episode, learn how to set the frame
of your app to customize the user experience.
Leveraging how each platform handles toolbars can make your app feel at home on each platform.
Understand the different behavior of tab views between iOS and macOS.
Navigation is slightly different on macOS compared to iOS. Add a sidebar to the macOS version to give a great user experience.
Build specific parts of your view hierarchy for various platforms to provide a custom experience.
macOS users expect a preferences window. Learn how to add a Preferences window.
Learn how to add keyboard shortcuts for the macOS and iOS versions of the app.
Explore how to add touchbar support on macOS.
Now that you have multiple versions of your app, see how to use handoff between devices.
Part 2: watchOS Apps in SwiftUI
With the iOS, iPadOS and macOS versions built, reuse your views to build a basic watchOS version of the TaskWatch app.
Leverage the digital crown of the Apple Watch to make a great user experience.
Part 3: tvOS Apps in SwiftUI
Rounding out the platforms, learn how to build a basic tvOS app from existing views you’ve built so far.
Learn how to use the Apple TV Remote in your app.