Asynchronous Programming with SwiftUI and Combine: Functional Programming to Build UIs on Apple Platforms

  • 3h 48m
  • Peter Friese
  • Apress
  • 2023

Develop UI-heavy applications more easily, faster, and error-free. Based on several enhancements to the Swift language, SwiftUI takes a declarative approach to building UIs. Instead of imperatively coding the UI, this book will show you how to describe how you want your UI to look.

SwiftUI treats the UI as a function of its state, thereby making managing your app’s state a lot easier. Change the underlying data model to redraw all parts of the UI that are connected to that particular slice of data. Likewise, easily update the underlying data model from the UI elements your data model is connected to. Combine is Apple’s Functional Reactive Programming framework. It complements SwiftUI and other frameworks, such as the networking APIs, in a natural way. Using Combine, you can subscribe to events and describe data processing in a way that is free of side effects. This allows for an easier implementation of event-driven applications.

Using SwiftUI and Combine build more error-free apps in a shorter amount of time, targeting all of Apple’s platforms (iOS, iPadOS, watchOS, macOS, tvOS) with little to no overhead.

By the end of the book you will have a solid understanding for architecting and implementing UI-heavy apps in a declarative and functional reactive way using SwiftUI, Combine, and async/await.

You will:

  • Build simple and gradually more complex UIs in SwiftUI
  • Understand SwiftUI’s state management system
  • Work with Combine and Swift’s new async/await APIs to access the network and access other asynchronous APIs
  • Architect and structure modern applications on Apple platforms using SwiftUI, Combine, and async/await

About the Author

Peter Friese is a software engineer, author, speaker, and musician with a passion for helping developers build great apps. He works as a Developer Relations Engineer / Developer Advocate on the Firebase team at Google, where he focuses on helping developers build better apps using Firebase on iOS and other Apple platforms.

In this Book

  • Foreword
  • About This Book
  • SwiftUI—A New Beginning
  • Getting Started with SwiftUI
  • SwiftUI Building Blocks
  • State Management
  • Displaying Data in Lists
  • Building Input Forms
  • Getting Started with Combine
  • Driving UI State with Combine
  • Networking with Combine
  • Error Handling in Combine
  • Implementing Custom Combine Operators
  • Wrapping Existing APIs in Combine
  • Combine Schedulers and SwiftUI
  • Getting Started with async/await
  • Using async/await in SwiftUI
  • Bringing It All Together—SwiftUI, async/await, and Combine
SHOW MORE
FREE ACCESS