-
Labo de groupe SwiftUI
Plongez au cœur de la WWDC26 en compagnie des équipes d'ingénierie et de design Apple. Rejoignez-nous en ligne pour poser des questions, obtenir des conseils et suivre la discussion sur les principales annonces de la semaine concernant SwiftUI. Séance présentée en anglais.
Chapitres
- 0:00:00 - Introduction
- 0:01:03 - Existe-t-il une architecture (MVC, MVVM, VIPER, Clean Architecture, etc.) que l’équipe SwiftUI s’attend à nous voir adopter, ou SwiftUI est-il délibérément agnostique en la matière ?
- 0:04:31 - Quelle est la différence entre une fermeture @ViewBuilder et une structure de vue séparée, et quels sont les avantages et inconvénients en termes de performance de chaque option ?
- 0:10:19 - Quels sont les anti-patterns les plus fréquents dans SwiftUI que vous avez observés récemment ?
- 0:17:26 - Quel est le concept de SwiftUI que les développeurs mettent le plus de temps à assimiler, et comment l’expliquez-vous ?
- 0:24:00 - Dans UIKit, la réutilisation des cellules était fondamentale pour les performances de défilement. Les Lazy Stacks et Lazy Grids sont-elles suffisantes pour des dispositions à défilement infini dans SwiftUI, ou faut-il descendre vers une UICollectionView hébergée ?
- 0:26:55 - La transition de @ViewBuilder à @ContentBuilder paraît très intéressante. Comment cela fonctionne-t-il, et pourquoi cela a-t-il amélioré les performances de vérification des types ?
- 0:29:52 - Lorsque vos équipes sont confrontées à une vague de re-rendus inexpliquée, quel est le bon workflow à adopter ? Le nouvel Instrument SwiftUI, Self._printChanges, ou autre chose ? Et pourquoi utiliser un trait de soulignement ?
- 0:34:18 - Grâce aux améliorations de la compilation @ContentBuilder, y a-t-il une raison de continuer à utiliser @ViewBuilder, et quand privilégier l’un ou l’autre ?
- 0:35:26 - Les wrappers de propriétés SwiftUI ont quelque chose de magique. Si je ne comprends pas pleinement la façon dont @State gère son cycle de vie, comment puis-je adopter la concurrence Swift en toute sécurité ? Quel est le modèle mental qui les relie ?
- 0:38:32 - Quelle est la méthode recommandée pour implémenter la navigation dans iOS 27 si des transitions personnalisées sont nécessaires ? SwiftUI ou UIKit+SwiftUI ?
- 0:40:38 - Quelle approche privilégier pour suivre le niveau de défilement d’une ScrollView afin d’afficher certains éléments en fonction de la distance parcourue par l’utilisateur ?
- 0:43:41 - Existe-t-il un moyen de créer des dispositions personnalisées paresseuses, similaires à LazyVStack ?
- 0:45:15 - Quelle est l’erreur la plus courante dans les grandes apps SwiftUI qui finit par nuire aux performances ?
- 0:48:39 - Les propriétés @Observable sont-elles automatiquement allouées sur le bon thread, ou devons-nous marquer explicitement les propriétés référencées par l’UI avec @MainActor ?
- 0:53:28 - Dans notre app multimodules, nous retournons AnyView à partir de protocoles pour masquer les types de vues concrètes et éviter les dépendances entre les modules. Existe-t-il une méthode plus idiomatique pour éviter AnyView ?
- 0:56:13 - Pouvez-vous expliquer les compromis de performances (vitesse et mémoire) de compositingGroup, geometryGroup et drawingGroup ?
Ressources
-
Rechercher dans cette vidéo…
-