Book Image

SwiftUI Essentials – iOS 14 Edition

By : Neil Smyth
Book Image

SwiftUI Essentials – iOS 14 Edition

By: Neil Smyth

Overview of this book

Do you want to create iOS apps with SwiftUI, Xcode 12, and Swift 5.3, and want to publish it on the app store? This book helps you achieve these skills with a step-by-step approach. This course first walks you through the steps necessary to set up an iOS development environment together and introduces Swift Playgrounds to learn and experiment with Swift—specifically, the Swift 5.3 programming language. After establishing key concepts of SwiftUI and project architecture, this course provides a guided tour of Xcode in SwiftUI development mode. The book also covers the creation of custom SwiftUI views and explains how these views are combined to create user interface layouts, including the use of stacks, frames, and forms. One of the more important skills you’ll learn is how to integrate SwiftUI views into existing UIKit-based projects and explain the integration of UIKit code into SwiftUI. Finally, the book explains how to package up a completed app and upload it to the app store for publication. Along the way, the topics covered in the book are put into practice through detailed tutorials, the source code for which is also available for download. By the end of this course, you will be able to build your own apps for iOS 14 using SwiftUI and publish it on the app store. The code files for the book can be found here: https://www.ebookfrenzy.com/retail/swiftui-ios14/
Table of Contents (56 chapters)
56
Index

52.1 SwiftUI and UIKit Integration

Before looking in detail at integrating SwiftUI and UIKit it is worth taking some time to explore whether a new app project should be started as a UIKit or SwiftUI project, and whether an existing app should be migrated entirely to SwiftUI. When making this decision, it is important to remember that apps containing SwiftUI code can only be used on devices running iOS 13 or later.

If you are starting a new project, then the best approach may be to build it as a SwiftUI project (support for older iOS versions not withstanding) and then integrate with UIKit when required functionality is not provided directly by SwiftUI. Although Apple continues to enhance and support the UIKit way of developing apps, it is clear that Apple sees SwiftUI as the future of app development. SwiftUI also makes it easier to develop and deploy apps for iOS, macOS, tvOS, iPadOS and watchOS without making major code changes.

If, on the other hand, you have existing projects...