Ouvrir le menu principal

MacGeneration

Recherche

Swift Concurrency bientôt compatible avec les versions antérieures de iOS et macOS ?

Florent Morin

jeudi 02 septembre 2021 à 18:00 • 30

Logiciels

Lors de la WWDC21, Apple a présenté aux développeurs Swift Concurrency, un nouveau mécanisme interne de Swift permettant d’améliorer l’exécution des tâches parallèles au sein des applications. Cette petite révolution était initialement réservée aux versions les plus récentes des systèmes Apple. Cependant, il semblerait que le constructeur travaille à améliorer sa compatibilité, au plus grand bonheur des développeurs.

Swift ne vous fera plus perdre le fil (d'exécution)

Nous n’allons pas revenir en détail sur les avantages de Swift Concurrency que nous avions présenté dans un précédent article. Il s’agit d’un mécanisme venant remplacer Grand Central Dispatch (GCD) dans la gestion des tâches parallèles.

Par exemple, quand vous lisez une vidéo dans une app telle que Netflix ou TikTok, un tâche est dédiée au téléchargement de la vidéo, une autre au décodage et une troisième à l’affichage de celle-ci. Chacune de ces tâches va communiquer avec l’autre, les données téléchargées seront envoyées au décodage et ainsi de suite. Pour ordonnancer toutes ces tâches, on fera appel à GCD qui va fonctionner au niveau du système d’exploitation pour répartir la charge entre les différents cœurs matériels.

Pour continuer sur cet exemple, si la tâche de téléchargement vient modifier les données téléchargées en même temps qu’elles sont exploitées pour le décodage, l’application va planter brutalement. Cela implique pour le développeur de gérer ce cas de figure sans monter une usine à gaz. Or, quand un tel plantage intervient, c’est extrêmement complexe à corriger.

C’est là qu’intervient Swift Concurrency qui vient remplacer la gestion des tâches parallèles du développeur. Le développeur aura juste à demander à exécuter une tâche en parallèle sans se soucier du reste. Il devra également préciser quelle portion de code peut être accédée par plusieurs tâches différentes. Et ce n’est pas que l’un des petits avantages à court terme du procédé.

Nous voyons bien là l’intérêt d’un tel mécanisme. Mais quid des anciennes versions de iOS ainsi que des autres systèmes d’exploitation ? Dès la sortie de la version beta de Xcode 13, Apple avait été assez claire sur le sujet : Swift Concurrency requiert les dernières versions des systèmes d’exploitation, à savoir macOS 12, iOS 15, iPadOS 15 et consorts. C’est une limitation connue qui peut être résolue ou non, le constructeur ne s’est pas engagé à ce sujet.

La note de version de Xcode 13 beta est très claire : Swift Concurrency est réservé aux dernières versions des systèmes Apple

Cependant, le développement de Swift étant open source, nous avons récemment pu observer quelques améliorations prometteuses à ce sujet.

Cela a commencé fin juillet, quand les développeurs se sont offert la possibilité d’inclure Swift Concurrency sous forme d’un composant externe. Les choses se sont précisées fin août avec la possibilité de compiler une version de Swift incluant du code Concurrency compatible avec les anciens systèmes. Une option qui est devenue le mécanisme par défaut de compilation de Swift quelques jours plus tard.

La petite ligne de code qui change tout

Swift Concurrency deviendrait alors compatible avec macOS 10.15, iOS 13, watchOS 6 et tvOS 13, sous réserve que les ingénieurs Apple dédiés au projet puissent faire sauter les derniers remparts qui sont encore devant eux.

Quelle version de Xcode / Swift serait concernée par cette nouveauté ? À ce stade, il est impossible de se prononcer. Cela peut arriver dès Swift 5.5 avec Xcode 13.0, ou dans une version 5.5.1 qui viendrait avec Xcode 13.1, ou plus tard.

Soutenez MacGeneration sur Tipeee

MacGeneration a besoin de vous

Vous pouvez nous aider en vous abonnant ou en nous laissant un pourboire

Soutenez MacGeneration sur Tipeee

Sécurité : pourquoi un antivirus ou un VPN ne suffit plus en 2025 📣

15:00

• 0


Même sous Windows 11, la puce M5 d'Apple montre sa puissance et met à l'amende les meilleures puces x86

08:00

• 22


Pour les retardataires : le magazine des 25 ans de MacG et son mug sont à nouveau en vente !

15/11/2025 à 18:33

• 64


Tim Cook pourrait quitter Apple dès 2026 !

15/11/2025 à 11:07

• 204


Apple TV trouve un nouveau canal de diffusion : la porte du frigo

15/11/2025 à 11:00

• 40


Les nouveautés de Photos sur macOS Tahoe : une interface renouvelée, des outils inchangés

15/11/2025 à 10:00

• 16


Sortie de veille : cinq ans plus tard, un bilan parfait pour les Mac Apple Silicon ?

15/11/2025 à 08:00

• 32


Design, support lombaire et prix choc : Doro C300 de Sihoo, la chaise ergonomique à ne pas manquer ce Black Friday 📍

14/11/2025 à 22:58

• 0


Les petits colis seront soumis aux droits de douane dès 2026

14/11/2025 à 20:30

• 126


Black Friday : le pack de deux caméras euFyCam 2C compatibles HomeKit de retour à 100 €

14/11/2025 à 18:38

• 14


L’iPhone Pocket est maintenant en vente à partir de 159 €, mais il n’y en aura pas pour tout le monde 🆕

14/11/2025 à 18:38

• 121


Striiiipes transforme le logo de l’app Cartes en porte-cartes en cuir

14/11/2025 à 16:37

• 23


Astuce macOS 26 : supprimer l’icône des apps des services cloud dans la barre latérale du Finder

14/11/2025 à 16:21

• 11


Prizmo Remix, le Raccourcis des scanners qui automatise le traitement des scans

14/11/2025 à 15:22

• 6


Promo : le Mac mini M4 de base sous les 600 € ou la version 512 Go pour 743 € 🆕

14/11/2025 à 12:17

• 42


La Chine veut limiter l’accélération par défaut des voitures électriques, sans les rendre lentes pour autant

14/11/2025 à 11:20

• 133