Book Image

Learn SwiftUI

By : Chris Barker
Book Image

Learn SwiftUI

By: Chris Barker

Overview of this book

SwiftUI is the new and powerful interface toolkit that lets you design and build iOS, iPadOS, and macOS apps using declarative syntax. It is a powerful way to develop the UI elements of applications, which would normally be tightly coupled to application logic. Learn SwiftUI will get you up to speed with the framework and cross-device UI development in no time. Complete with detailed explanations and practical examples, this easy-to-follow guide will teach you the fundamentals of the SwiftUI toolkit. You'll learn how to build a powerful iOS and iPadOS application that can be reused for deployment on watchOS. As you progress, you'll delve into UI and unit testing in iOS apps, along with learning how to test your SwiftUI code for multiple devices. The book will also show you how to integrate SwiftUI features such as data binding and network requests into your current application logic. By the end of this book, you will have learned how to build a cross-device application using the SwiftUI framework and Swift programming.
Table of Contents (17 chapters)

Summary

In this chapter, we covered how linking SwiftUI to existing logic and UIKit frameworks can be achieved. First, we looked at how we integrate into a very common approach for networking by using NetworkHelper along with URLSession to perform our network request. From this, we were successfully able to update our SwiftUI View with ease.

Next, we took a deep dive into two of the main representable protocols, UIViewRepresentable and UIViewControllerRepresentable, and stepped through how we previously used these in Chapter 7, Creating a Form with States and Data Binding, in order to implement existing UIKit controls. We covered the differences between using both and understood why we need to take a slightly different approach for UIViewControllerRepresentable in order to dismiss the ViewController, should we need to.

Finally, we briefly covered the remaining available representable...