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)

Building Layout and Structure

Now that we know a little bit about SwiftUI's syntax, let's look at how best to structure not only our code but also our project. In this chapter, you'll learn the importance of app architecture; we'll cover two of the most commonly used ones, Model-View-View-Model (MVVM) and Model-View-Controller (MVC), to see not only what they do, but also how we can adopt them in SwiftUI.

Learning about the importance of app architecture will allow us to not only understand but also visualize the separation of UI and application logic. More importantly, we'll learn how this separation will allow us to look closely at how SwiftUI works seamlessly with the new Combine framework in order to achieve a powerful yet efficient pattern.

The following topics will be covered in this chapter:

  • UI logic the MVVM architecture
  • Design patterns...