iOS 14 : le langage Swift représente seulement 8% des binaires de l’OS mobile
Le langage Swift a été créé par Apple en 2014. Plus simple à appréhender et tout aussi puissant que l’Objective-C, Swift a depuis essaimé dans nombre des applications développées par Apple, et bien sûr aussi sur les versions d’iOS depuis iOS 10. Pour autant, Swift reste encore ultra minoritaire sur iOS 14. Si l’on en croit une étude du développeur Timac, la part de Swift a bien progressé depuis iOS 10, mais beaucoup moins rapidement encore que celle de l’Objective-C. 8% des binaires d’iOS 14 seraient du Swift, contre 88% pour l’Objective-C/C++.
Dans la dernière mouture de l’OS mobile, la part de code en C++ est même encore deux fois supérieure à celle de Swift. Notons toutefois que Swift dépasse (très légèrement) désormais le langage C dans iOS 14. Sur iPhone OS 1.0, soit la toute première version du système d’exploitation mobile, c’est le le langage C qui dominait dans les binaires, devant même l’Objective-C et le C++.
C’est surtout le langage des librairies pour le C, C++ par exemple. Et pour Objective-C c’est aussi à cause des librairies qui sont encore beaucoup en Objective-C afin d’éviter le refactor à chaque nouvelle version de Swift. Il serait plus intéressant de savoir le nombre d’application dont le code hors framework est en Swift. A mon avis c’est + de 30%
Commentaire Intéressant, et qui enrichit l’info de l’article.
Généralement on produit une application pour iOS et Androïd, voire workstation et serveur. On factorise au max le code dans un langage commun à toutes ces plateformes (C/C++ ou C# pour les adeptes du .Net), puis on fait du code à façon spécifique à chaque plateforme (Swift, Java/Kotlin /Scala, ….).
Il paraît logique que la grosse partie du code soit dans un langage générique. Les librairies comme souligné par @Nono28, sont un exemple flagrant de ce phénomène.
Je pense qu’il serai plus intéressant d’avoir le pourcentage d’application en Swift en excluant les jeux vidéo. En effet la plupart des jeux sont basés sur des game engine qui créer du code c++.
Que sont les « binaires » ?
Ces sont les applications qui sont compilés en code binaire (suite de 0 et 1) pour que la machine puisse les comprendre