iOS Development met Swift UI
Lesgeld
Swift Review
De cursus iOS Development met SwiftUI gaat van start met een review van de belangrijkste elementen van de Swift programmeertaal. Hierbij komen onder andere type inference, classes, structures, guards en closures aan bod.
Swift UI Architecture
Vervolgens wordt ingegaan op de declaratieve en data driven SwiftUI syntax en het gebruik van SwiftUI projecten in XCode. Ook wordt dan aandacht besteed aan de SwiftUI App en UI hierarchy, de diverse SwiftUI views,
Swift Review
De cursus iOS Development met SwiftUI gaat van start met een review van de belangrijkste elementen van de Swift programmeertaal. Hierbij komen onder andere type inference, classes, structures, guards en closures aan bod.
Swift UI Architecture
Vervolgens wordt ingegaan op de declaratieve en data driven SwiftUI syntax en het gebruik van SwiftUI projecten in XCode. Ook wordt dan aandacht besteed aan de SwiftUI App en UI hierarchy, de diverse SwiftUI views, stacks, frames en de event handling in Swift UI.
Data Persistence
In SwiftUI apps zijn verschillende manieren voor het opslaan van data. Zo komen Scene Storage en App Storage aan de orde en wordt ingegaan op het benaderen van het file system van een device. Ook wordt aandacht besteed aan het opslaan van data in een key value store en in een relationele database als SQLite. Daarbij passeren ook Lifecycle modifiers de revue.
Navigation
Het navigeren tussen verschillende schermen in een SwiftUI app is eveneens onderdeel van het programma van de cursus. Hierbij wordt ingegaan op het gebruik van NavigationViews en NavigationLinks die kunnen worden opgenomen in List en Dynamic Lists.
Gestures
Gestures in mobile apps hebben betrekking op interactie met het device door middel van taps, clicks en swipes. Het gebruik van gestures in SwiftUI komt aan de orde evenals de combinatie met animaties.
SwiftUI Widgets
Widgets zijn de visuele building blocks van het user interface van een Swift UI App. Diverse widgets zoals lists, grids, buttons, switches, tables, date pickers en maps worden besproken. En ook wordt aandacht besteed aan de creatie van User Defined widgets met de WidgetKit.
UI Kit Integration
Tenslotte komt aan de orde hoe bestaande iOS apps die gemaakt zijn op basis de UI kit architectuur kunnen worden geintegreerd met de SwiftUI architectuur. Hierbij wordt ingegaan op de rol van UIViewControllers en Storyboards.
Doelgroep Cursus iOS Development met SwiftUI
De cursus iOS Development met SwiftUI is bedoeld voor developers die het declaratieve SwiftUI framework willen gebruiken voor de ontwikkeling van apps voor iPhone en iPad.
Voorkennis iOS Development met SwiftUI
Om aan de cursus iOS Development met SwiftUI te kunnen deelnemen is voorkennis van programmeren in de taal Swift wenselijk.
Uitvoering Training iOS Development met SwiftUI
De theorie wordt behandeld op basis van presentatie slides en demos. Er is ruime gelegenheid tot oefenen. In de cursus wordt gewerkt met de nieuwste versie van de iOS SDK en XCode. De cursustijden zijn van 9.30 tot 16.30.
Certificering iOS Development met SwiftUI
De deelnemers krijgen na het goed doorlopen van de cursus een certificaat iOS Development met SwiftUI.
Modules
Module 1 : Swift Review
- Type Inference
- Type Casting
- Data Structures
- Protocols
- Guards
- Classes
- Structures
- Optional Types
- Closures
- Extensions
- Property Wrappers
- Stored Properties
- Computed Properties
Module 2 : SwiftUI Intro
- SwiftUI Projects
- SwiftUI in XCode
- UIKit and Interface Builder
- SwiftUI Declarative Syntax
- SwiftUI is Data Driven
- SwiftUI versus UIKit
- Xcode in SwiftUI Mode
- Preview Canvas and Pinning
- Multiple Device Configurations
- App on Simulators
- App on Physical Devices
- Build Errors
- UI Layout Hierarchy
Module 3 : SwiftUI Architecture
- SwiftUI App Hierarchy
- App and Scenes
- SwiftUI Views
- Basic Views
- Additional Layers
- Subviews
- Views as Properties
- Modifying Views
- Custom Modifiers
- Basic Event Handling
- Custom Container Views
- ContentView.swift File
- Assets.xcassets
Module 4 : Stacks and Frames
- SwiftUI Stacks
- Spacers
- Alignment and Padding
- Container Child Limit
- Text Line Limits
- Layout Priority
- Traditional Stacks
- Lazy Stacks
- SwiftUI Frames
- Frames and Geometry Reader
- Cross Stack Alignment
- Container Alignment
- Alignment Guides
Module 5 : Lifecycle Modifiers
- onAppear Modifiers
- onDisappear Modifiers
- onChange Modifier
- ScenePhases
- onChange Modifier
- Adding Observable Object
- Designing ContentView Layout
- Adding Navigation
- Environment Objects
- State Properties
- State Binding
- Observable Objects
- State Objects
Module 6 : SwiftUI Data Persistence
- Using AppStorage
- Using SceneStorage
- @SceneStorage Property Wrapper
- @AppStorage Property Wrapper
- Adding Data Store
- Pathnames in Swift
- Directories and Files
- Reading and Writing from a File
- Key-Value Data
- Using SQLite Directly
- Managed Objects
- Persistent Store Coordinator
- Retrieving and Modifying Data
Module 7 : Lists and Navigation
- SwiftUI Lists
- SwiftUI Dynamic Lists
- NavigationView
- NavigationLink
- Editable List
- Hierarchical Lists
- Loading JSON Data
- Using OutlineGroup
- Using DisclosureGroup
- Sidebar List Style
Module 8 : SwiftUI Grids
- SwiftUI Grids
- LazyVGrid
- LazyHGri
- GridItems
- Flexible GridItems
- Scrolling Support
- Adaptive GridItems
- Fixed GridItems
- Hierarchical Data
- Disclosures
Module 9 : Gestures and Animation
- Basic Gestures
- onChange Action Callback
- Updating Callback Action
- Composing Gestures
- Implicit and Explicit Animation
- Repeating an Animation
- Explicit Animation
- Animation and State Bindings
- SwiftUI Transitions
- Asymmetrical Transitions
Module 10 : Widgets with SwiftUI
- Overview of Widgets
- WidgetKit
- The Widget Extension
- Widget Configuration Types
- Widget Entry View
- Widget Timeline Entries
- Widget Timeline
- Widget Provider
- Reload Policy
- Forcing Timeline Reload
- Widget Placeholders
Module 11 : Integrating UIKit
- SwiftUI and UIKit Integration
- Integrating UIViews into SwiftUI
- Adding a Coordinator
- Handling UIKit Delegation
- Handling UIKit Data Sources
- Wrapping the UIScrolledView
- Implementing the Coordinator
- Using MyScrollView
- Adding a Hosting Controller
- Embedding a Container View
- Testing the App
Module 12 : UIViews and UIViewControllers
- UIViewControllers and SwiftUI
- Wrapping UIImagePickerController
- Designing the Content View
- Completing MyImagePicker
- Completing the Content View
- Preparing the Storyboard
- Configuring the Segue Action
- Overview of the Hosting Controller
- UIHostingController Project
- Adding the SwiftUI Content View
- Embedding SwiftUI in Code