An IOS Developer's Guide to SwiftUI Design and Build Beautiful Apps Quickly and Easily with Minimum Code

Get started with SwiftUI and accelerate your iOS app development with this guide to leveraging the declarative approach, with key images printed in color Key Features Learn how to structure and maintain clean app architecture Integrate SwiftUI with relevant frameworks to create professional and resp...

Descripción completa

Detalles Bibliográficos
Otros Autores: Fadda, Michele, author (author)
Formato: Libro electrónico
Idioma:Inglés
Publicado: Birmingham, England : Packt Publishing [2024]
Edición:First edition
Materias:
Ver en Biblioteca Universitat Ramon Llull:https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009819037506719
Tabla de Contenidos:
  • Cover
  • Title Page
  • Copyright and Credits
  • Contributors
  • Table of Contents
  • Preface
  • Part 1: Simple Views
  • Chapter 1: Exploring the Environment - Xcode, Playgrounds, and SwiftUI
  • Technical requirements
  • Exploring SwiftUI with Xcode
  • A brief tour of Xcode
  • Your first SwiftUI project
  • Creating a SwiftUI project
  • Creating a multi-platform project
  • Previews and the simulator
  • Playgrounds
  • The app submission process
  • Certificates
  • Mobile provisioning profiles
  • The application submission process
  • Summary
  • Chapter 2: Adding Basic UI Elements and Designing Layouts
  • Technical requirements
  • Reusing views code
  • More about Text
  • Managing space in SwiftUI
  • The padding modifier
  • The .frame modifier
  • The .alignment modifier
  • The Spacer
  • The Divider
  • Digging deeper into stacks
  • Overview of stacks
  • HStack
  • ZStack
  • Summary
  • Chapter 3: Adding Interactivity to a SwiftUI View
  • Technical requirements
  • Passing values at view creation
  • Responding to a button tap
  • Property wrappers
  • Limitations of @State
  • Changing a view appearance dynamically using modifiers
  • Bidirectional binding with Picker
  • Final notes on Subviews and @Binding, Classes, and @ObservableObject
  • Summary
  • Part 2: Scrollable Views
  • Chapter 4: Iterating Views, Scroll Views, FocusState, Lists, and Scroll View Reader
  • Technical requirements
  • Iterating views
  • Hiding or showing the keyboard in a form using @FocusState
  • Scroll views
  • Controlling scrolling programmatically using ScrollViewReader
  • Summary
  • Chapter 5: The Art of Displaying Grids
  • Technical requirements
  • Displaying grids in iOS
  • The Grid view
  • Creating a simple static grid
  • Lazy grids
  • Using GridItem to control the layout of LazyVGrid
  • Scrolling horizontally and sizing the grid automatically.
  • Conditional formatting of a view
  • Reacting to device rotation
  • Summary
  • Part 3: SwiftUI Navigation
  • Chapter 6: Tab Bars and Modal View Presentation
  • Technical requirements
  • Creating a standard tab bar
  • Creating custom tab bars
  • Adapting your code to different versions of the operating system
  • The hitchhiker's guide to modal navigation
  • Showing a modal sheet
  • Showing alerts
  • The popover
  • Presentation detents
  • Summary
  • Chapter 7: All About Navigation
  • Technical requirements
  • Navigation as a concept in iOS and other platforms
  • Showing a tab bar title with NavigationView
  • Presenting views with NavigationLink (pre-iOS 16)
  • Adding buttons to NavigationView and activating navigation programmatically
  • Using navigationDestination with NavigationStack
  • Using NavigationPath to control the navigation stack
  • NavigationSplitView - multicolumn navigation
  • Direct navigation stack manipulation with NavigationPath
  • Saving and loading the navigation stack
  • Summary
  • Part 4: Graphics and Animation
  • Chapter 8: Creating Custom Graphics
  • Technical requirements
  • Creating custom modifiers
  • Drawing with the Canvas
  • Using CALayers in SwiftUI
  • Custom layout
  • Summary
  • Chapter 9: An Introduction to Animations in SwiftUI
  • Technical requirements
  • Gestures
  • Basic gestures
  • Creating implicit animations
  • Explicit SwiftUI animations
  • Transitions
  • The .transition() modifier
  • The matchedGeometryEffect modifier
  • Summary
  • Part 5: App Architecture
  • Chapter 10: App Architecture and SwiftUI Part I: Practical Tools
  • Diagrams
  • Dependency inversion
  • Clean Architecture
  • Different ways to decouple
  • Initializer injection
  • Method injection
  • Property injection
  • A matter of state
  • iOS 17 changes in state management
  • Other ways to chop your code
  • Summary.
  • Chapter 11: App Architecture and SwiftUI Part II - the Theory
  • Keeping it light enough
  • Conflict and the role of the architect
  • What good software architecture is and what it is not
  • Don't be shy
  • ask an expert!
  • The origin of software patterns
  • Agency theory and bad architecture
  • Clean Architecture
  • TCA, The Composable Architecture
  • Summary
  • Part 6: Beyond Basics
  • Chapter 12: Persistence with Core Data
  • What is persistency?
  • What is Core Data?
  • Understanding Core Data framework classes
  • Using Core Data with SwiftUI
  • Creating a Core Data project
  • Working with the data model file
  • Core Data migrations
  • The SQLite data file
  • CloudKit
  • Summary
  • Chapter 13: Modern Structured Concurrency
  • A brief introduction to concurrency
  • Understanding traditional concurrency mechanisms
  • Threads
  • Callbacks and event loops
  • GCD
  • What is structured concurrency?
  • Using the async/await syntax
  • Understanding tasks
  • Task groups
  • Asynchronous streams
  • Actors
  • MainActor
  • Bridging old GCD and structured concurrency
  • Summary
  • Chapter 14: An Introduction to SwiftData
  • Technical requirements
  • Understanding the differences between SwiftData and Core Data
  • SwiftData and SwiftUI
  • Exploring changes in the binding mechanisms
  • Creating a data model
  • Understanding relationships in SwiftData
  • One-to-one relationships
  • One-to-many relationships
  • Many-to-one relationships
  • Many-to-many relationships
  • Cascading deletion rules
  • Fetching data
  • Filtering data with predicates
  • Summary
  • Chapter 15: Consuming REST Services in SwiftUI
  • Technical requirements
  • An overview of REST
  • Ports
  • Understanding REST requests in Swift
  • Codable, Encodable, and Decodable protocols
  • Using URLSession
  • Implementing HTTP methods
  • Setting headers
  • Handling errors
  • URLProtocol
  • Summary.
  • Chapter 16: Exploring the Apple Vision Pro
  • Technical requirements
  • Tools for visionOS development
  • An overview of Unity and RealityKit
  • First steps with visionOS development
  • Summary
  • Index
  • Other Books You May Enjoy.