Description
Cette formation de perfectionnement au développement iOS vous permettra de renforcer vos compétences en persistance des données sur iOS en utilisant les frameworks CoreData et SwiftData.
Pendant 3 jours, vous apprendrez à :
- Gérer les bases de données CoreData et SwiftData (SQLite)
- Manipuler des données avec le langage Swift.
- Concevoir des applications robustes et performantes grâce à une gestion avancée des données (requêtes dynamiques, intégration mobile et synchronisation avec iCloud).
Lors des sessions pratiques, vous créerez une application complète (gestion de livres ou une plateforme de voyage), en intégrant SwiftData et CoreData dans une application existante, en concevant des interfaces interactives, en synchronisant des données avec iCloud, et en validant votre code avec Swift Testing !
Cette formation de perfectionnement à iOS vous permettra de construire des applications de meilleure qualité avec une gestion des données plus fluide et une expérience utilisateur améliorée.
Public
Cette formation s’adresse aux développeurs ayant déjà une bonne expérience de développement d’applications iOS avec Swift et souhaitant utiliser des mécanismes de persistance de données modernes, puissants et adaptés.
Les objectifs
- Maîtriser les fondamentaux de la persistance des données iOS
- Modéliser et gérer les données en construisant des stacks CoreData et SwiftData
- Effectuer des opérations CRUD et des requêtes dynamiques pour manipuler efficacement les données
- Créer des interfaces avec SwiftUI pour afficher, modifier et interagir avec des données persistées
- Synchroniser et intégrer les données mobiles avec iCloud/CloudKit et des services externes
- Valider la qualité du code grâce aux tests unitaires avec Swift Testing
Pré-requis
- Avoir suivi notre formation iOS avec Swift ou avoir une experience équivalente dans le développement d’applications iOS avec Swift
- Mac avec macOS et Xcode à jour
- Ordinateur portable à apporter
Le programme de la formation iOS — Perfectionnement
Jour 1 : Fondations de la persistance iOS
-
Introduction
- L’écosystème Swift, SwiftUI, le système de fichiers
- Les différences entre CoreData et SwiftData
-
Persistance simple
- Persister des données simples avec
@AppStorage
et @SceneStorage
- Property List, préférences et accès au système de fichiers
- Archiver avec le protocole Codable
- transformation en JSON et vice-versa
-
Persistance avec CoreData
- Anatomie d’un stack CoreData
- L’éditeur de modèle et les entités
- Le rôle des NSManagedObject subclasses et des extensions
- Les relations One to Many et Many to Many
- Intégrer CoreData dans SwiftUI avec le NSPersistentContainer
- Lire et afficher les données avec le property wrapper @FetchRequest
Mises en pratique :
- Implémentation d’un système pour sauvegarder des préférences simples de l'utilisateur (thème clair/sombre, langue) en utilisant @AppStorage et @SceneStorage
- Conception d’une fonctionnalité permettant d'enregistrer des informations utilisateur simples ou des configurations de l'application, puis de les recharger avec le protocole Codable
- Création d’une application iOS / CoreData Configuration du stack CoreData
- Créer des entités avec leurs attributs et contraintes
- Gérer les relations One to Many et Many to Many
- Visualiser la base SQLite
- Affichage des données dans un écran SwiftUI
Jour 2 : Manipulation des données avec SwiftData et CoreData
-
Approfondissement CoreData
- Implémentation des fonctionnalités comme l’ajout, la modification, et la suppression d’éléments (produits, destinations, ou données énergétiques)
- Tri et filtrage
- Les requêtes dynamiques
-
SwiftData, les Fondamentaux
- Le schéma de modèle
- Anatomie de la macro @Model
- Intégration avec SwiftUI
- Les requêtes CRUD
- Le rôle du protocole PreviewModifier
- Les relations One to Many et Many to Many
Mise en pratique :
- Création des vues SwiftUI et des opérations CRUD
- Trier, filtrer les éléments avec NSSortDescriptor et NSPredicate
- Effectuer des requêtes dynamiques
- Monitoring des performances de l'app
- Création d’une application iOS avec SwiftData
- Modélisation des données avec @Model
- Visualisation de la base SQLite
- Visualisation des données de test avec le protocol PreviewModifier
- Création d’une interface utilisateur pour afficher les données
- Implémentation de fonctionnalités comme l’ajout, la modification, et la suppression d’éléments (produits, destinations, ou données énergétiques)
Jour 3: Approfondissement et optimisation des données iOS
-
SwiftData, aspects intermédiaires
- Les requêtes dynamiques avec les macros @Query et Predicate
- Intégrer des données mobiles
- Sauvegarder des images
- Stratégie pour réaliser une migration simple
- Synchroniser les données avec iCloud / CloudKit
-
Déboggage, performance et qualité de l‘application
- Utiliser Swift Testing pour démontrer la qualité du code
- Débugger et profiler l’app avec Instruments
- Intégrer SwiftData dans une application CoreData existante
-
Pour aller plus loin (si le temps le permet)
- Localiser et internationaliser l‘application pour plusieurs langages
Mises en pratique :
- Mise en place de la synchronisation des données principales
- Effectuer des requêtes dynamiques
- Écriture et réalisation des tests unitaires pour valider la qualité des fonctionnalités critiques
Télécharger le programme
Formateur
Ingénieur et formateur Swift / SwiftUI et Objective-C, certifié Apple.
Je forme et conseille des développeurs pour toutes toutes sortes d'entreprises ( Orange, Groupama, etc...) , au développement des technologies mobiles iOS depuis près de 10 ans.
FAQ
Nos formations sont éligibles à plusieurs dispositifs de financement, selon votre situation. Human Coders est certifié
Qualiopi, ce qui permet la prise en charge par des organismes comme
Pôle emploi, votre OPCO ou encore le
CPF (Compte Personnel de Formation) pour certaines formations.
Pour en savoir plus, veuillez consulter notre page : Comment financer votre formation ?
Oui, la formation peut être proposée en présentiel ou en distanciel. Pour les inter-entreprises, les modalités (présentiel ou à distance) sont fonction de la session.
Nous pouvons organiser des sessions à d'autres dates ou dans d'autres villes (Bordeaux, Lille, Lyon, Marseille, Montpellier, Nantes, Nice, Paris, Strasbourg, Toulouse...)
Les formations se déroulent toujours en petit groupe de 3 à 6 stagiaires. Nous souhaitons que les formateurs et formatrices puissent passer un maximum de temps avec chacun·e.
Voici une journée type :
- 9h : vous êtes accueillis par votre formateur·rice autour d'un petit déjeuner (croissants, pains au chocolat, jus de fruit, thé ou café...)
- 9h30 : la formation commence
- 12h30 : pause de midi. Le·a formateur·rice mangera avec vous. C'est l'occasion d'avoir des discussions plus informelles.
- 14h : reprise de la formation
- 18h : fin de la journée
8 raisons de participer à une formation Human Coders
- Satisfaction client élevée : Un taux de statisfaction de 4,6/5 depuis 2012 (sur 1724 sessions réalisées). 99% des participants se disent satisfaits de nos formations
- Approche pédagogique unique : Des formations en petit groupe, des formateurs passionnés et expérimentés, de véritables workshops... (Plus d'infos sur notre manifeste)
- Catalogue de formations complet : 185 formations au catalogue, de quoi vous accompagner sur tout vos projets
- Écosystème dynamique : Nous accompagnons les dev depuis 13 ans avec des initiatives comme Human Coders News, les Human Talks, le podcast ou encore notre serveur Discord
- Financement facilité : Organisme certifié Qualiopi, indispensable pour que vous puissiez obtenir des aides au financement via votre OPCO
- Références clients prestigieuses : De nombreux clients qui nous font confiance depuis des années
- Accompagnement sur mesure : Nous vous proposons un accompagnement personnalisé par nos consultants pour vous aider dans vos projets au-delà de la formation
- Valorisation professionnelle : Remise d'un diplôme, d'une attestation et d'une certification, suivant les formations effectuées, que vous pourrez afficher sur vos CV et réseaux sociaux