Swift et SwiftUI continuent de gagner du terrain sous iOS 17

Nicolas Furno |

C’est désormais une longue tradition : comme chaque année, Alexandre Colucci a analysé les binaires présents dans iOS 17 pour déterminer la part de Swift et SwiftUI. Et comme chaque année, cette part augmente et pas qu’un peu, puisque le développeur a compté 1 516 binaires utilisant du Swift, soit 50 % de plus que sous iOS 16. SwiftUI, le nouveau framework d’interface imaginé par Apple, progresse lui aussi avec 385 binaires, soit environ 40 % de plus que l’an dernier.

Graphique timac.org.

Cela ne veut bien sûr pas dire que tout iOS est désormais basé sur Swift, on est même en réalité encore loin du compte. Sur les 6 030 binaires listés dans iOS 17 — 10 % de plus que sous iOS 16 au passage —, seuls 21 % utilisent le nouveau langage de développement et l’écrasante majorité reste dans d’autres langages plus anciens. Objective-C domine toujours avec 61 % des binaires, tandis que C et C++ n’ont pas disparu, avec respectivement 5 et 12 % des binaires.

Graphique timac.org.

Même si l’utilisation de Swift augmente chaque année dans iOS, le nombre de binaires écrits en Objective-C continue lui aussi d’augmenter, mais simplement moins vite. Il faut dire que l’histoire qui se cache derrière ces analyses annuelles est bien celle d’une augmentation jusque-là constante du nombre de binaires intégrés au système mobile d’Apple. Le système d’exploitation du premier iPhone était dérivé de Mac OS X et ne comptait que 184 binaires ! Il faut imaginer qu’il y a deux fois plus de binaires codés en SwiftUI dans iOS 17 et ceux-là restent ultra minoritaires.

Graphique timac.org.

À propos de SwiftUI, son usage se développe et on le retrouve notamment de plus en plus dans l’app Réglages. Son écran qui affiche l’utilisation du stockage de l’appareil repose désormais sur ce framework, tout comme les réglages de fonds d’écran ou encore le tout nouveau (et impressionnant) module dédié au bouton d’action des iPhone 15 Pro. D’autres apps ont été en partie réécrites en SwiftUI cette année, comme Santé et Maison, tandis que d’autres, comme Calendrier et Rappels, ont commencé à l’exploiter.

Il faut rappeler que l’on peut mélanger SwiftUI avec UIKit, son ancêtre, ce qui explique qu’Apple peut avancer par petites touches sans avoir à tout reprendre de zéro à chaque fois. UIKit reste dominant avec 79 % des binaires avec une interface, mais le nombre de binaires UIKit décroit pour la première fois depuis l’introduction de son successeur, une tendance que l’on devrait sûrement observer à nouveau les prochaines années.

Graphique timac.org.

Pour finir, Apple a annoncé en 2022 que l’enclave sécurisée de nos appareils pouvait désormais accueillir du code en Swift. Mais comme le développeur l’a relevé dans son étude, ce n’est toujours pas le cas pour iOS 17, où tous les binaires utilisent d’autres langages de développement. Pour le moment, cette possibilité semble réservée à macOS, qui compte un binaire en Swift depuis Ventura, celui dédié à l’hibernation. C’est en tout cas un élément de plus que Swift pourra conquérir dans les années à venir, l’objectif restant pour Apple d’utiliser ce langage partout.

Tags
avatar bl@ck warrior_69 | 

SwiftUI est un framework d'interface, pas un language de programmation, vu qu'il utilise Swift, du coup je ne comprends pas trop l'intérêt de le comparer avec Swift et Objective C 🤔

avatar PtitXav | 

@bl@ck warrior_69

Pareil : pour SwiftUI il faut comparer avec UIKit. SwiftUI indique qu’on fait du Swift, donc c’est déjà inclus dans Swift.

avatar marc_os | 

@ PtitXav

> SwiftUI indique qu’on fait du Swift, donc c’est déjà inclus dans Swift

Certes, on utilise à priori SwiftUI dans un projet en Swift, mais ce qu'il remplace, c'est bien l'utilisation de UIKit.

Sinon, perso je ne comprends pas pourquoi vouloir définir une interface graphique en écrivant du code plutôt qu'en la dessinant avec un outil graphique (InterfaceBuilder).
En même temps, ça correspond à la mode du markdown chez certain qui le préfèrent à aux éditeurs de texte avec interface graphique pour définir les styles. C'est un retour en arrière. Bientôt on aura des écrans noirs et du texte en vert, et rien d'autre.

avatar Nico_Belgium | 

@PtitXav

Je pense qu’il faut lire le graphique comme;

Objective-C => UiKit
Swift=> UiKit
SwiftUI => SwiftUI

avatar Ali Baba | 

@bl@ck warrior_69

Hmm, c’est les deux dans le sens où SwiftUI peut être vu comme un DSL superset de Swift.

avatar Crash System | 

C’est les éléments d’interface qui sont bien à comparer car tu as Apple qui en a fait à mort de la pub pour swiftui

CONNEXION UTILISATEUR