IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

L'utilisation par Apple de Swift et de SwiftUI dans iOS 17 : 1 516 binaires utilisent Swift,
Selon une analyse d'Alexandre Colucci

Le , par Bruno

36PARTAGES

3  0 
iOS 17 a apporté son lot de nouveautés, et parmi elles, l’utilisation croissante de Swift et SwiftUI. Selon l’analyse d’Alexandre Colucci, Directeur de l'ingénierie chez Eve System, iOS 17 présente une adoption croissante de Swift et SwiftUI. 1 516 binaires utilisent Swift, soit 50 % de plus que sous iOS 16. Cependant, il est important de noter que seulement 21 % des 6 030 binaires listés dans iOS 17 utilisent le nouveau langage de développement. En somme, Swift et SwiftUI continuent d’évoluer dans l’écosystème iOS, mais UIKit reste encore dominant pour les interfaces utilisateur.

Swift, c’est un langage de programmation mis au point par Apple pour développer des apps iOS, Mac, Apple TV et Apple Watch. Il est conçu pour offrir aux développeurs une liberté inédite. Et comme il est facile à utiliser et disponible en open source, quiconque ayant une idée en tête peut créer quelque chose d’incroyable. Le langage de programmation Swift puise ses origines dans divers langages tels qu’Objective-C, Haskell, Ruby, Python, Caml et C#. La première version publique (1.0) a été dévoilée lors de la WWDC 2014.

En 2015, Apple annonce la mise en open source de Swift, effective en décembre de la même année. Depuis lors, plusieurs versions ont vu le jour, dont la 3.0, la 4.0 (axée sur la stabilité de la syntaxe du code source) et la 5.0 (qui a notamment stabilisé l’ABI).

Voici les points saillants concernant l’utilisation de Swift et SwiftUI dans iOS 17 :

  • Adoption croissante de Swift : 1 516 binaires utilisent Swift, soit 50 % de plus que sous iOS 16. Cependant, seulement 21 % des 6 030 binaires listés dans iOS 17 utilisent le nouveau langage de développement ;
  • SwiftUI en hausse : 385 binaires sont écrits en SwiftUI, soit environ 40 % de plus que l’an dernier. Cette technologie est de plus en plus présente dans des applications telles que Préférences, ainsi que dans des domaines comme la santé et la maison ;
  • Langages existants : la majorité des binaires reste dans d’autres langages plus anciens, notamment Objective-C (61 %) et C/C++ (5 % et 12 % respectivement) ;
  • UIKit toujours dominant : bien que l’utilisation de Swift augmente chaque année, le nombre de binaires écrits en Objective-C continue également d’augmenter, mais à un rythme plus lent.

Nombre de binaires


L’adoption de SwiftUI a considérablement augmenté cette année dans le monde iOS. Parmi les applications notables, citons :

  • Préférences et ses bundles associés (StorageSettingsUI, WallpaperSettings, MultitaskingAndGesturesSettings, ThirdPartyApplicationSettings, ActionButtonSettings, …) ;
  • Plusieurs binaires liés à la santé (Health.app, HealthUI, MentalHealthUI, WorkoutUI, …) ;
  • L’application Home, qui a subi des changements majeurs (Home.app, HomeEnergyUI, HomeUICommon, HomeDataModel, HomeAccessoryControlUI, …) ;
  • La prise en charge du nouveau bouton Action (ActionButtonSettings, ActionButtonConfigurationUI, …). En outre, d’autres applications importantes telles que Calendar et Reminders utilisent désormais SwiftUI.

L’évolution des langages de programmation sur iOS peut être observée en analysant toutes les versions majeures d’iOS, de iPhone OS 1.0 à iOS 17. Notez que la somme des binaires dans le graphique peut être supérieure au nombre total de binaires en raison des doublons.

Évolution du nombre de binaires utilisant les langages de programmation


Un développeur peut combiner différents langages de programmation pour créer un binaire. Alexandre Colucci explique que dans son application Mac, Dependencies, il utilise Swift, Objective-C, C++ et C, en choisissant le langage le plus adapté pour résoudre chaque problème spécifique. Dans cet article, une application contenant une seule ligne de code Swift est considérée comme utilisant Swift.

UIKit contre SwiftUI

Jusqu'à présent, SwiftUI a été comparé à tous les binaires. SwiftUI étant un framework d'interface utilisateur, il serait plus juste de le comparer à d'autres binaires affichant une interface utilisateur. Les applications iOS natives peuvent être construites avec 2 frameworks UI différents : UIKit et SwiftUI. Pour la première fois, le nombre de binaires utilisant exclusivement UIKit a diminué par rapport à l'année précédente :


Binaires avec interface utilisateur dans iOS


L’adoption de Swift et SwiftUI continue de croître : le nombre de binaires utilisant ces frameworks a augmenté de 50 % entre iOS 16 et iOS 17. L’utilisation plus répandue du cycle de vie des applications basé sur SwiftUI est un autre bon signe de dogfooding (pratique consistant à tester ses propres produits). Pour la première fois, le nombre de binaires utilisant exclusivement UIKit a diminué par rapport à l’année précédente.

Dans les années à venir, il sera intéressant d’observer si Swift commence à se répandre dans les microprogrammes de bas niveau, tels que la Secure Enclave. Actuellement, Swift est absent de la Secure Enclave dans iOS, bien que macOS l’intègre.

Source : Alexandre Colucci's blog post

Et vous ?

Que pensez-vous de l'utilisation par Apple de Swift et de SwiftUI dans iOS 17 ?

Voir aussi :

Apple publie la version 5.5 de Swift avec le mot-clé async pour corriger la "pyramide condamnée", ainsi que d'autres changements dans une "version massive"

Swift 5 est disponible avec de nouveaux types de données, une stabilité de l'ABI, une réimplémentation UTF-8 de String et bien d'autres

Une erreur dans cette actualité ? Signalez-nous-la !