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

First steps with visionOS development

Everything you have learned so far about SwiftUI applies to visionOS and is the same if you are using Windows-based visionOS apps. Let’s create our first Xcode project for Apple Vision Pro.

A SwiftUI application for visionOS comprising a window is rather similar to the applications you have already seen in this book for mobile and desktop devices.

Your views will conform to the View protocol and are built in the same way you are familiar with right now.

In this section, we will examine how this process differs, slightly, from the development for other devices.

To create a SwiftUI app, start by selecting the Xcode template for visionOS apps, as shown in the following screen capture:

Figure 16.3 – The Xcode template for visionOS apps

Figure 16.3 – The Xcode template for visionOS apps

Let’s start with the simplest configuration you can use, as shown in the following screen capture. Please set it with exactly the options shown:

...