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

Understanding traditional concurrency mechanisms

My recommendation is that, although old concurrency paradigms can be still used, you should not mix concurrency paradigms together, and you should use the newer approaches in new projects. However, let’s have a quick recap of older concurrency mechanisms.

Threads

A thread in concurrent programming is the smallest unit of a CPU execution that can run independently. Threads within the same process share the same memory space but execute independently. Each thread owns its own copy of registers, stack and program counter, but shares heap memory and file handles. Threads are one of the oldest and most traditional ways to achieve concurrency. A modern CPU can both switch the execution sequentially among several threads (concurrency) and can also process several threads in parallel on different CPU cores (parallelism).

It is nowadays uncommon to find a modern mobile device with less than four CPU cores. In a threaded model...