Ouvrir le menu principal

MacGeneration

Recherche

La sortie de Swift 6 avec Swift Concurrency se rapproche

Florent Morin

vendredi 22 mars 2024 à 10:00 • 4

Logiciels

Il y a 3 ans, Apple nous présentait Swift Concurrency, une évolution forte de Swift 5 qui annonçait le début d’un long chemin vers Swift 6. En parallèle, le langage s’est doucement, mais sûrement ouvert à d’autres plateformes, notamment embarquées. Et nous y sommes aujourd’hui : toute les conditions sont désormais réunies afin de passer à une nouvelle version majeure du langage.

Swift Concurrency : gestion optimale des tâches parallèles

Nous en avions déjà parlé à sa sortie : Swift Concurrency améliore l’efficacité des tâches exécutées en parallèle. Cela passe d’abord par une meilleure orchestration au niveau du code de ces tâches qui avanceront en parallèle.

Imaginons une application qui permet de télécharger des images afin de les afficher à l’écran. Lorsque l’utilisateur appuie sur un bouton « Télécharger », plusieurs actions vont être enclenchées en parallèle. Une tâche va se charger de récupérer l’image, mais une autre va afficher un indicateur de chargement. Cela donne une réponse immédiate à l’utilisateur et évite de bloquer l’app pendant le chargement.

Vision (pro) schématique du procédé.

Sur le plan technique, l’action de l’utilisateur sur l’interface est placée dans le fil d’action qui a la plus haute priorité, nommé « Main Actor ». En parallèle, la tâche de gestion d’accès aux données va réaliser plusieurs opérations successives : elle va d’abord vérifier si l’image demandée existe déjà sur le stockage local. À défaut, elle ira la télécharger sur le web, via une autre tâche. Sans entrer dans les détails trop techniques, on peut utiliser les « acteurs » pour faire en sorte qu’un téléchargement ne soit initié qu’une seule fois et que son résultat soit retourné aux différents appelants.

Cet article est réservé aux membres du Club iGen


Rejoignez la plus grande communauté Apple francophone et soutenez le travail d'une rédaction indépendante. Le Club iGen, c'est:

  • des articles de qualité rien que pour vous
  • un podcast exclusif
  • pas de publicité
  • un site dédié !

Rejoignez le Club iGen

Soutenez le travail d'une rédaction indépendante.

Rejoignez la plus grande communauté Apple francophone !

S'abonner