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

Dependency inversion

Before we dive into this section, let me give you a brief overview of the first four of the five SOLID principles, which were created by Robert Martin:

  • S – Single Responsibility Principle (SRP):
    • Concept: A class should have only one reason to exist.
    • Application: Each class in your application should have only one specific job or responsibility. For instance, if you have a UserHandler class, its responsibility should be strictly limited to user-related operations, such as creating, updating, or deleting users, and not also include network functionality, for example.
  • O – Open/Closed Principle (OCP):
    • Concept: Software entities (classes, modules, functions, etc.) should be open for extension but closed for modification.
    • Application: Design your classes in a way that allows you to add new functionality through inheritance or extension rather than forcing fellow developers to modify existing code. For instance, using protocol-oriented programming...