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

Exploring SwiftUI with Xcode

In this section, we are going to look into the Xcode UI in the context of a SwiftUI project.

Xcode is quite a large topic by itself. We will focus on SwiftUI and explain enough about how Xcode usage differs in SwiftUI from UIKit to get you started, how to create a SwiftUI project, and add targets for various Apple platforms. Also, we will explain how to add tests to a project.

A brief tour of Xcode

Xcode is an integrated development environment (IDE) for developing any code on any device that Apple produces. Xcode is therefore a massive and complex app capable of supporting many different types of projects and technologies. Not all of these types of projects are relevant to SwiftUI, so we will limit ourselves to Swift as a language and SwiftUI as a UI framework. In the past, the only supported language for app development was Objective-C and the only supported UI framework was different for each device platform, notably UIKit for iOS and AppKit...