- 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 |
Al onze cursussen zijn klassikale cursussen waarbij de cursisten aan de hand van een ervaren trainer met diepgaande materie kennis door de stof worden geleid. Theorie wordt steeds afgewisseld met oefeningen.
We doen ook maatwerk en passen dan de cursusinhoud aan op uw wensen. Op verzoek gaan we ook in op uw praktijkcases.
De cursustijden zijn in pricipe van 9.30 tot 16.30. Maar we zijn hierin flexibel. Soms moeten mensen namelijk kinderen naar de opvang brengen of halen en komen andere tijden hun beter uit. In goed overleg kunnen we dan andere cursustijden afspreken.
Wij zorgen voor de computers waarop de cursus gehouden kan worden. Op deze computer is de voor de cursus benodigde software al geinstalleerd. U hoeft geen laptop mee te nemen om aan de cursus te kunnen deelnemen. Als u liever op uw eigen laptop werkt kunt u hem desgewenst meenemen. De benodigde software wordt dan aan het begin van de cursus geinstalleerd.
Onze cursussen worden over het algemeen gegeven met Open Source software zoals Eclipse, IntelliJ, Tomcat, Pycharm, Anaconda en Netbeans. Het digitale cursusmateriaal krijgt u na de cursus mee naar huis.
De cursus is inclusief lunch die we in een restaurantje op loopafstand van het cursuslokaal gebruiken.
De cursussen worden op diverse plaatsen in het land gepland. Een cursus gaat op een locatie door als er zich minimaal 3 mensen voor die locatie inschrijven. Als er inschrijvingen voor verschillende locaties zijn gaat de cursus door op onze hoofdlocatie is Houten net onder Utrecht. Een cursus op onze hoofdlocatie gaat ook door bij 2 inschrijvingen en regelmatig ook bij 1 inschrijving. Overigens doen we ook cursussen op de locatie van de klant als men daar prijs op stelt.
Na afloop van iedere cursus worden de deelnemers verzocht de cursus te evalueren ten aanzien van cursusinhoud, cursusmateriaal, trainer en locatie. Het evaluatie formulier staat op https://www.klantenvertellen.nl/reviews/1039545/spiraltrain. De evaluaties van voorgaande deelnemers en voorgaande cursussen kunnen daar ook worden teruggevonden.
De intellectuele eigendomsrechten van de gepubliceerde cursus inhoud, ook wel aangeduid als infosheet, behoren toe aan SpiralTrain. Het is niet toegestaan de cursusinformatie, de infosheet, te publiceren in schiftelijke dan wel digitale vorm zonder de uitdrukkelijke toestemming van SpiralTrain. Onder de cursus inhoud dient te worden verstaan de beschrijving van de cursus inhoud in zinnen alsmede de indeling van de cursus in modules en onderwerpen in de modules.