Book Image

An iOS Developer's Guide to SwiftUI

By : Michele Fadda
Book Image

An iOS Developer's Guide to SwiftUI

By: Michele Fadda

Overview of this book

– SwiftUI transforms Apple Platform app development with intuitive Swift code for seamless UI design. – Explore SwiftUI's declarative programming: define what the app should look like and do, while the OS handles the heavy lifting. – Hands-on approach covers SwiftUI fundamentals and often-omitted parts in introductory guides. – Progress from creating views and modifiers to intricate, responsive UIs and advanced techniques for complex apps. – Focus on new features in asynchronous programming and architecture patterns for efficient, modern app design. – Learn UIKit and SwiftUI integration, plus how to run tests for SwiftUI applications. – Gain confidence to harness SwiftUI's full potential for building professional-grade apps across Apple devices.
Table of Contents (25 chapters)
Free Chapter
1
Part 1: Simple Views
5
Part 2: Scrollable Views
8
Part 3: SwiftUI Navigation
11
Part 4: Graphics and Animation
14
Part 5: App Architecture
17
Part 6: Beyond Basics

What is structured concurrency?

Structured concurrency is a programming paradigm that aims to make concurrent programming as straightforward, safe, and simple to understand as writing sequential code. It takes its name as an analogy stemming from structured programming.

The basic assumption of structured concurrency is that it should bring the same simplification to concurrency that structured programming brought to program sequencing, by removing goto-based branching.

Every asynchronous task is now part of a hierarchy and has a priority. The hierarchy allows the runtime to cancel all the child tasks of a parent task when the parent is canceled. It also simplifies waiting for all children to finish before the parent is allowed to complete. Also, the compiler checks whether code can or should be run asynchronously. Although not perfect, the compile-time check catches the most common programming errors. It will, for instance, detect some race conditions and potentially unsafe code...