Fiche 01.07 — Les previews SwiftUI
Objectif
Comprendre à quoi servent les previews SwiftUI, comment prévisualiser une vue rapidement, et comment utiliser des données mockées pour tester plusieurs états d’un écran.
1. L’idée à comprendre
Les previews SwiftUI permettent de voir une vue directement dans Xcode sans lancer toute l’application sur le simulateur.
Elles servent à tester rapidement :
- l’apparence d’une vue ;
- plusieurs états visuels ;
- le dark mode ;
- différentes tailles d’écran ;
- des données fictives ;
- des composants réutilisables.
Une preview ne remplace pas un vrai test sur simulateur ou appareil, mais elle accélère énormément la création d’interface.
2. Code minimal
#Preview indique à Xcode quelle vue afficher dans le canvas de preview.
3. Preview avec paramètres
Si ta vue reçoit des données, tu les fournis directement dans la preview.
Ici, la preview utilise des données fictives.
4. Plusieurs previews pour une même vue
Tu peux créer plusieurs previews pour tester plusieurs cas.
C’est utile pour vérifier que ton UI ne casse pas avec :
- un texte très long ;
- une donnée vide ;
- un état d’erreur ;
- un état loading ;
- un écran avec beaucoup de contenu.
5. Preview dark mode
Tu peux forcer le dark mode dans une preview.
Tu peux aussi avoir light mode et dark mode côte à côte :
6. Preview avec taille personnalisée
Pour prévisualiser un petit composant, tu peux utiliser .previewLayout avec l’ancien système de previews, mais avec #Preview, le plus simple est souvent d’encadrer ton composant avec du padding ou de le mettre dans un container.
Exemple :
Pour tester un écran complet, tu affiches directement l’écran :
7. Preview avec données mockées
Quand une vue dépend d’un modèle, crée des données mockées.
Puis tu les utilises dans tes previews :
Les mocks évitent de dépendre d’une API, de Firebase ou d’une base locale juste pour afficher une preview.
8. Preview d’une liste
Tu peux aussi prévisualiser une liste complète avec des données mockées.
Ici, ArticlesListView ne va pas chercher les données elle-même. Elle reçoit une liste d’articles, ce qui la rend facile à prévisualiser.
9. Preview avec ViewModel mocké
Quand une vue dépend d’un ViewModel, tu peux créer un ViewModel de preview.
Vue :
Previews :
Ça permet de tester rapidement plusieurs états du même écran.
10. Preview loading, empty, error, loaded
Pour une vraie app, beaucoup d’écrans ont plusieurs états :
- chargement ;
- contenu chargé ;
- contenu vide ;
- erreur.
Exemple :
Previews :
C’est une très bonne habitude : tester tous les états visuels d’un écran.
11. Preview avec EnvironmentObject
Si une vue utilise @EnvironmentObject, la preview doit fournir cet objet.
Exemple :
Preview :
Si tu oublies .environmentObject(...), la preview peut planter.
12. Points à connaître
Les previews ne doivent pas dépendre du réseau
Évite de faire une vraie requête API dans une preview.
Préférable :
Moins adapté :
Les previews doivent rester rapides et prévisibles.
Les previews aident à créer des composants réutilisables
Un bon composant SwiftUI devrait être facile à prévisualiser seul.
Exemple :
Si une vue est difficile à prévisualiser, c’est parfois le signe qu’elle dépend de trop de choses.
Les mocks rendent les previews plus propres
Tu peux créer des extensions .mock ou .mocks sur tes modèles.
Exemple :
Puis :
Résumé
À retenir :
#Previewpermet d’afficher une vue dans Xcode sans lancer toute l’app ;- les previews sont très utiles pour construire rapidement l’interface ;
- utilise des données mockées plutôt qu’une vraie API ;
- crée plusieurs previews pour tester plusieurs états ;
- teste aussi le dark mode et les textes longs ;
- si une vue utilise
@EnvironmentObject, la preview doit le fournir ; - une vue facile à prévisualiser est souvent une vue mieux découplée.