Fermer le menu

Le développement de Swift 5 est officiellement lancé

Nicolas Furno | | 09:20 |  13

Maintenant que Swift 4 est finalisé et dans les mains de tous les développeurs, Apple a lancé les travaux pour Swift 5. Cette mise à jour majeure de son langage de développement sortira l’année prochaine, avec iOS 12 et macOS 10.14, mais puisque c’est un projet open-source, le contenu de cette version est connu. Toutes les nouveautés attendues pour Swift 5 sont disponibles à cette adresse.

La grosse nouveauté de Swift 5 sera la stabilité ABI (Application Binary Interface) qui permettra aux développeurs de proposer des apps un petit peu plus légères et surtout plus pérennes. Pour faire simple, ces ABI font le lien entre les applications et le système d’exploitation, entre le programme codé par le développeur et le langage machine exécuté par le processeur. C’est un composant essentiel et tant qu’il n’est pas stabilisé, chaque app devait intégrer ses propres ABI en interne.

Les ABI d’une app iOS. Cliquer pour agrandir
Les ABI d’une app iOS. Cliquer pour agrandir

Avec Swift 5, il ne sera plus nécessaire d’intégrer ces fichiers directement dans les apps, puisqu’ils seront présents dans le système d’exploitation. Ce sera autant de gagné sur le poids des apps, mais surtout cela veut dire qu’une app continuera de fonctionner au fil des mises à jour du système d’exploitation et du langage de programmation. Et si Apple améliore les ABI dans une future mise à jour d’iOS ou de macOS, toutes les apps en profiteront automatiquement.

Apple avait au départ prévu que Swift 4 offrirait la stabilité ABI (lire : La stabilité, principal enjeu de Swift 4), mais cette fonction a pris du retard et elle avait été finalement repoussée. La quatrième version du langage apporte toutefois un élément essentiel : la stabilité du code source. À partir de maintenant, les développeurs ne devraient plus avoir à mettre à jour leurs apps, avec des changements parfois importants, à chaque nouvelle version de Swift.

Pour le moment, les ingénieurs en charge de Swift ont prévu de prendre en charge totalement le code écrit en Swift 4, mais peut-être que le compilateur sera aussi compatible avec Swift 3, cela reste encore à déterminer. D’autres améliorations sont par ailleurs prévues, notamment sur la gestion du texte. N’importe qui peut proposer des idées et elles seront peut-être prises en compte dans le développement de cette mise à jour.

Catégories: 
Tags : 

Les derniers dossiers

Ailleurs sur le Web


13 Commentaires Signaler un abus dans les commentaires

avatar totoguile 10/08/2017 - 09:50

Gagner ~15MB par appli c'est pas négligeable !

avatar Nico S 10/08/2017 - 10:43 via iGeneration pour iOS

La stabilisation des ABI aidera très certainement le langage à être pris un peu plus au sérieux.

avatar Domsware 10/08/2017 - 10:53 via iGeneration pour iOS

@Nico S

Parce qu'il ne l'est pas ?



avatar Nico S 10/08/2017 - 12:04 via iGeneration pour iOS

@Domsware

Hors du monde Apple ? Pas vraiment, non. Il y a bien quelques projets genre frameworks web (Vapor, Kitura, etc) mais je n'ai pas connaissance de leurs usages en production. Même de "grosses" app iOS aujourd'hui sont encore frileuses à quitter ObjC.

avatar Domsware 10/08/2017 - 12:14 via iGeneration pour iOS

@Nico S

Ok. Donc cette remarque se limite à ce que tu connais. En ce qui me concerne c'est le contraire : tous les nouveaux développements se font en Swift.

avatar Nico S 10/08/2017 - 12:27 via iGeneration pour iOS

@Domsware

Il y a une différence entre aimer un langage et un langage populaire. Mais adorant Swift et ayant participé à plusieurs projets open source (dont Vapor, justement), je veux bien des exemples de son utilisation en prod hors de l'écosystème Apple.

avatar LeGrosJeanLou 10/08/2017 - 12:38

@Nico S

C'est vrai qu'en dehors de l'éco-système Apple on ne voit pas énormément de projets en Swift, ce qui paraît normal dans la mesure où le compileur n'est pas (encore?) disponible pour Windows. Il me semble par contre qu'il a été développé pour Android à partir du compileur Linux (mais je peux me tromper)

Qu'en est-il de la coopération entre Apple, IBM et Cisco ?

Sinon je suis assez d'accord, la stabilité du code est un élément essentiel à son adoption sérieuse en dehors de l'éco-système Apple. Les problématiques de pérenité sont essentielles en milieu professionnel, et la popularité indéniable de Swift ne change rien à cet état de fait.

Vivement Swift 5.

avatar Nico S 10/08/2017 - 12:46 via iGeneration pour iOS (edité)

@LeGrosJeanLou

Exactement. Je pense aussi que les frileux actuels seront plus confiant pour écrire/convertir des librairies en Swift, un passage obligé pour une adoption à plus grande échelle. Peut-être même qu'Apple se mettra à utiliser Swift sérieusement dans leurs propres apps.

Pour aujourd'hui, l'utilisation de Swift par rapport aux stacks populaires reste anecdotique.

avatar oomu 10/08/2017 - 12:36

ce n'est pas un jugement de valeur qu'il fait.

Il constate une situation et donne quelques exemples de pourquoi il voit cela.

avatar byte_order 11/08/2017 - 12:22

@Domsware
> En ce qui me concerne c'est le contraire : tous les nouveaux développements
> se font en Swift.

Pour quelles plateformes stp ?

avatar emgb 10/08/2017 - 11:08

LOL

avatar ovea 10/08/2017 - 13:55 via iGeneration pour iOS

La seule question d'importance c'est : est-ce qu'il y a dors et déjà du fonctionnel (voir ocaml F#,…) dans Swift pour gagner en abstraction ou bien faudra-t-il utiliser un préprocesseur pour ça ?

avatar jrmy21 10/08/2017 - 21:40 via iGeneration pour iOS

J'ai l'impression qu'Apple a pris 10 ans d'avance sur le langage de Code