Xcode 14 : en route vers Swift 6

Florent Morin |

Depuis 2014, Swift s’intègre de plus en plus au cœur de l’écosystème de développement Apple. Cette année est un pas de plus vers Swift 6 qui s’annonce comme une avancée majeure à tous les niveaux. Et Xcode 14 est là pour nous accompagner dans cette migration à la fois itérative et essentielle.

Nous avions déjà évoqué quelques-unes des évolutions de Swift 5.7 dans un précédent article. Nous n’allons pas revenir en détail sur l’ensemble de ces nouveautés, mais plutôt traiter celles qui auront un impact significatif sur le développement dans les années à venir. Concernant Swift Package Manager qui est toujours plus intégré à Xcode, notamment au travers des plugins, nous vous invitons à lire notre série dédiée qui intègre les nouveautés de Swift 5.7.

avatar macbook60 | 

Merci pour l’article

avatar Florent Morin | 

@macbook60

Avec plaisir. 😁

avatar macbook60 | 

@FloMo

Les appintents ça a l’air intéressant aussi

avatar franckontheweb | 

Article au top merci.

avatar Florent Morin | 

@franckontheweb

👍

avatar benjaminrousseau | 

Encore un article au top ! Un vrai régal ! Merci beaucoup Florent ;)

avatar Florent Morin | 

@benjaminrousseau

🙂

avatar nononap | 

C'était pas simple de faire plus compliqué et tordu que C++. Pourtant, ils y sont arrivés, et haut la main. Bravo Apple :p

avatar kiddsoso | 

Enfin un article (très bon au passage) qui parle d’Xcode 14 ! 👏

Plus d’articles orientés dev seraient vraiment cool !

avatar RonDex | 

@kiddsoso

Je ne suis pas développeur, mais je suppose qu’on doit trouver beaucoup d’articles sur ce sujet sur les sites anglophone ?

avatar kiddsoso | 

@RonDex

Oui bien sûr ! Mais sachant que j’aime bien les articles de MacG, c’est plutôt cool d’en avoir plus souvent

avatar Florent Morin | 

@kiddsoso

Merci. Quelques uns devraient arriver dans les prochaines semaines.

avatar DahuLArthropode | 

Sans être expert, il me semble que l’utilité des nouveaux mots-clefs any et some est surtout d’éliminer du code mort et d’éviter des indirections à l’exécution.
Quand on fait appel à une bibliothèque générique qui contient Véhicule, Vélo et Voiture, il se peut que notre application n’utilise que Vélo. L’optimisation consiste alors à ne pas embarquer le code inutilisé de Voiture.rouler(), ni les mécanismes pour sélectionner la bonne méthode à l’exécution. Si Voiture et Véhicule contiennent beaucoup de code non utilisé, ou si Véhicule a beaucoup d’autres héritiers, le gain peut être important.
Bref: code plus rapide et plus petit.

Nous avions notre propre compilateur Eiffel et à l’édition de lien, nous faisions ça automatiquement sans mot-clef spécifique (mais les librairies partagées étaient peu utilisées et les contraintes sans doute différentes).

avatar laclouis5 | 

@DahuLArthropode

Sans être expert, il me semble que l’utilité des nouveaux mots-clefs any et some est surtout d’éliminer du code mort et d’éviter des indirections à l’exécution.

Au contraire le mot clef « any » introduit volontairement une indirection. Cela permet lors de l’exécution de stocker une variable de n’importe quel type se conformant a un protocole donné (similaire à une classe). Le mot clef « some » n’introduit pas d’indirection supplémentaire mais son utilité n’est pas liée à l’optimisation du code. Il sert principalement à masquer certains détails d’implémentation d’API.

CONNEXION UTILISATEUR