Integrating SwiftUI into UIKit Apps
A detailed guide on gradually adopting SwiftUI in UIKit projects.
- Discover all the possible ways to add SwiftUI views to an existing UIKit app
- See how fast you can develop new components in SwiftUI and preview them instantly in Xcode canvas
- Take your existing apps to the next level by adding new iOS 16 features, such as Swift Charts and Lock Screen widgets
- Learn how to keep supporting older iOS versions at the same time
- Migrate larger parts of your apps to SwiftUI while reusing views and controllers built in UIKit
- Take advantage of the new iOS 17 APIs to bridge state between UIKit and SwiftUI
Want to try reading a sample for free? You can download the free sample bundle or read the sample subchapter online.
You can also check out the full table of contents to get an idea of what's inside.
What is included
- Online book access
- High quality EPUB and PDF downloads
- Over 250 pages of content
- 7 full projects with sample code
- Free lifetime updates to the book
Exceptional course, highly recommend! It's the resource that will push me to finally make the switch to SwiftUI for new screens and views. It is very concise and straight to the point, but also very complete. You can binge-learn it in a weekend. Thanks Natalia!
If you're rolling SwiftUI <> UIKit, who better to learn from than someone who was literally working on SwiftUI at Apple recently?
This book is really good. Natalia’s explanations are simple, clear and comprehensive. Her example code is not just good for concepts she is explaining but good review for general iOS concepts stripped to essentials.
What it covers
- Developing user interfaces with SwiftUI: state and data management, styling, layout, accessibility
- Learning the fundamentals of the SwiftUI framework to use it and integrate it efficiently
- Using Xcode previews when designing and building UI
- Integrating SwiftUI inside UIKit views and controllers with UIHostingController
- Presenting controllers containing SwiftUI hierarchy programmatically and in storyboards
- Setting up data flow between UIKit and embedded Swift components
- Sizing and positioning SwiftUI views inside a UIKit controller
- Taking full advantage of the new iOS 16 and iOS 17 features
- Supporting multiple iOS version at the same time
- Building custom collection view cell configurations in SwiftUI
- Adding charts built with the new Swift Charts framework to existing UIKit apps
- Making widgets with WidgetKit and SwiftUI including iOS 16 Lock Screen widgets
- Migrating from UIKit to the SwiftUI app lifecycle
- Bringing existing views and controllers built in UIKit into SwiftUI during migration
- Wrapping UIKit views and controllers with UIViewRepresentable and UIViewControllerRepresentable to be used in SwiftUI
- Previewing UIViewControllers and UIViews in Xcode previews
- Setting up bidirectional data flow between wrapped UIKit components and the SwiftUI app
- Bridging data between UIKit and SwiftUI using the new Observable framework and custom traits
Who the book is for
This book is for UIKit developers who would like to use SwiftUI in their existing UIKit projects. You should have some experience using Xcode to build iOS applications with the Swift language and the UIKit framework. SwiftUI experience is welcome but not strictly required. The first chapter of the book that covers SwiftUI essentials should get you up to speed. You can also improve your SwiftUI knowledge as you progress through the book by following along with the code and studying additional materials from the further reading sections.
The book comes with sample code for each chapter. We provide starter projects with initial setup and assets, as well as final projects with completed examples.
To follow along you would need the latest version of Xcode 15.
Full table of contents
Have questions about the book? Send us a message.