Avec un petit peu de retard, mais comme chaque année, le développeur Alexandre Colucci a mené son analyse des binaires présents dans iOS 18. Le système d’Apple dédié aux iPhone n’est pas ouvert, si bien qu’une étude du code source est impossible. Faute de mieux, cette analyse nous donne une idée de l’évolution du langage de développement Swift ainsi que du framework d’interface SwiftUI au sein du système. Sans grande surprise, les nouveaux-venus sont de plus en plus présents, même si Objective-C et UIKit pèsent encore lourds et ne disparaîtront pas avant bien des années.
Au total, le développeur a compté 6 800 binaires dans iOS 18, soit 770 de plus que l’an dernier. Cette augmentation de près de 13 % d’une année sur l’autre n’est pas entièrement attribuable à iOS 18, il y a aussi des fonctionnalités ajoutées sous iOS 17 qui sont venus gonfler ce chiffre, comme l’app Journal qui date d’iOS 17.2. Malgré tout, l’augmentation est surtout liée aux nouveautés de l’année, comme la toute nouvelle app Mots de passe ou encore toutes les fonctions liées à Apple Intelligence.
Ces nouveautés exploitent toutes Swift et souvent SwiftUI, contribuant à augmenter le nombre de binaires qui reposent sur ces technologies. Ainsi, Alexandre Colucci a comptabilisé 2 308 binaires qui utilisent au moins en partie du Swift1 et 592 binaires qui reposent en partie sur SwiftUI. Dans les deux cas, cela représente une augmentation de plus de 50 % par rapport à iOS 17. Six nouvelles apps ont adopté, en partie en tout cas, le nouveau framework d’interface conçu par Apple, dont Mots de passe qui est toute nouvelle et Calculatrice qui a été largement réécrite pour venir sur l’iPad.
Les binaires en Objective-C restent loin devant et surtout, leur nombre continue d’augmenter d’année en année, même s’ils baissent en proportion. Ils représentent 58 % des binaires comptés sous iOS 18 et devraient rester majoritaires encore quelques années, puisque Swift et SwiftUI sont encore loin derrière avec 28 % des binaires. Le reste est constitué de C et C++, deux langages plus bas niveau qui dominaient dans les premières années de l’iPhone.
Si l’on se concentre uniquement sur les binaires qui affichent une interface, UIKit reste lui aussi bien en tête avec plus de 2 000 binaires. Malgré tout, la tendance est assez claire et Apple utilise de plus en plus son nouveau framework d’interface, ce qui est après tout logique : SwiftUI n’a pas été conçu uniquement pour les développeurs tiers. On peut noter en particulier que les nouvelles apps, comme Mots de Passe, reposent entièrement sur lui.
Pour finir, Swift peut servir à coder des programmes qui doivent tourner dans l’enclave sécurisée des appareils iOS depuis deux ans maintenant. Avec iOS 18, c’est en effet le cas pour la première fois sur un iPhone avec un premier binaire qui semble utiliser du Swift. Alexandre Colucci précise tout de même que ce n’est pas une certitude, il faudrait avoir accès au code source pour s’assurer que c’est bien le cas. Ce serait en tout cas logique, Apple n’a pas effectué tout ce travail en amont sans raison.
-
L’analyse ne permet pas de connaître précisément la quantité de lignes codées en Swift ou dans un autre langage, uniquement de savoir si binaire contient au moins une ligne de Swift. ↩︎