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 good software architecture is and what it is not

When we speak about software architecture, we don’t have hard and fast “recipes” that you can regard as laws to be followed blindly and memorized to guide you in your journey. Instead, however, we have more guiding principles about architecture that allow us to judge the architecture (structure) of a system and help us determine whether this structure is appropriate or not. The first such principle is the prescriptive statement that that we can use to define as a sort of rule-zero of architecture –“form must follow function” or, even more simply, “form follows function.”

I borrowed this from Bauhaus architecture school. The Bauhaus school was founded in Germany in 1919 and literally means “building houses.” It advocated for simplicity and practicality in form. When it comes to application structure, we discovered this philosophical view of the world in computer...