- Leren door doen
- Trainers met praktijkervaring
- Klassikale trainingen
- Gedetailleerd cursusmateriaal
- Duidelijke inhoudsbeschrijving
- Maatwerk inhoud mogelijk
- Trainingen die doorgaan
- Kleine groepen
In de cursus iOS development met SwiftUI leren de deelnemers de programmeer taal Swift en het declaratieve SwiftUI framework te gebruiken voor de ontwikkeling van apps voor de iPhone en de iPad. Bij de ontwikkeling van de iOS apps wordt gebruikt gemaakt van de XCode Development Environment waarvan de vele mogelijkheden in de cursus worden besproken.
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.
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.
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.
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 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.
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.
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.
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.
Om aan de cursus iOS Development met SwiftUI te kunnen deelnemen is voorkennis van programmeren in de taal Swift wenselijk.
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.
De deelnemers krijgen na het goed doorlopen van de cursus een certificaat iOS Development met SwiftUI.
Module 1 : Swift Review |
Module 2 : SwiftUI Intro |
Module 3 : SwiftUI Architecture |
Type Inference Type Casting Data Structures Protocols Guards Classes Structures Optional Types Closures Extensions Property Wrappers Stored Properties Computed Properties |
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 |
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 |
Module 5 : Lifecycle Modifiers |
Module 6 : SwiftUI Data Persistence |
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 |
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 |
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 |
Module 8 : SwiftUI Grids |
Module 9 : Gestures and Animation |
SwiftUI Lists SwiftUI Dynamic Lists NavigationView NavigationLink Editable List Hierarchical Lists Loading JSON Data Using OutlineGroup Using DisclosureGroup Sidebar List Style |
SwiftUI Grids LazyVGrid LazyHGri GridItems Flexible GridItems Scrolling Support Adaptive GridItems Fixed GridItems Hierarchical Data Disclosures |
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 |
Module 11 : Integrating UIKit |
Module 12 : UIViews and UIViewControllers |
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 |
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 |
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 |