Concept de SwiftUI
- Qu’est-ce que SwiftUI et pourquoi un nouveau framework ?
- Les différences fondamentales avec UIkit.
- SwiftUI avec iOS, iPadOS, macOS, watchOS, tvOS et visionOS.
Fonctionnalités de Swift
- Les opaque return types.
- Les property wrappers.
- Les function builders.
- L'asynchrone avec async/await.
- Le MainActor.
Travaux pratiques
Mise en pratique des fonctionnalités Swift utiles pour SwiftUI.
Composition d’interfaces
- Architecture d'une application SwiftUI.
- Les previews d'XCode.
- Créer des vues.
- Les vues simples : textes, labels, images, boutons, formes...
- Les modificateurs de style.
- Les différents types de layout.
- Les interactions et les gestures.
- Séparer, réutiliser et tester ses vues.
Travaux pratiques
Création et composition de plusieurs vues. Utilisation des previews d'XCode.
Gestion des états
- Le fonctionnement du data flow en SwiftUI.
- Les states et les bindings.
- Les vues à état : textfields, toggles, sliders, pickers...
- Les animations et les transitions.
- La macro observable.
- Les environnements.
- L'injection de dépendances.
- L'AppStorage et le SceneStorage.
- Le cycle de vie d'une vue.
Travaux pratiques
Utilisation des states et des bindings. Mise en pratique des animations. Mise en place de l'injection de dépendances.
Listes et navigation
- Les listes dynamiques : listes, grilles, formulaires, lazy...
- La navigation entre les vues.
- Les vues modales et les alertes.
- Les toolbars et les menus.
- Les TabView et SplitView.
Travaux pratiques
Création de listes dynamiques avec une stack de navigation. Création de vues modales.
Réseau et persistance
- Faire des appels réseau avec SwiftUI.
- Gestion de l'asynchrone et des erreurs.
- Persistance des données avec SwiftData.
Travaux pratiques
Création d'une application connectée avec persistance en base avec SwiftData.
Intégration de SwiftUI
- Intégrer des vues SwiftUI dans un projet UIkit.
- Intégrer des composants UIkit dans un projet SwiftUI.