Depuis la sortie de SwiftUI en 2019, les développeurs iOS sont confrontés à un dilemme : faut-il adopter ce nouveau framework déclaratif vanté par Apple ou rester fidèle à l’incontournable UIKit, éprouvé depuis plus d’une décennie ? Alors que SwiftUI continue de gagner en maturité, UIKit conserve de solides arguments en matière de stabilité et de personnalisation. En 2025, comment faire le bon choix technologique pour vos projets ? Décryptage comparatif.

En 2014, Apple dévoile son nouveau langage de programmation : Swift. Il vient remplacer Objective-C avec une syntaxe plus simple et plus lisible par les développeurs adaptant sa bibliothèque graphique UIKit. Cinq ans plus tard, lors de la World Wide Developer Conference de 2019, Apple présente SwiftUI, un nouveau framework graphique permettant de développer des interfaces de manière déclarative pour toutes les plateformes Apple.
Depuis, Apple ne cesse de mettre à jour ce framework qu’il considère comme le futur des applications de tout son écosystème, en misant sur une librairie exécutable sur l’ensemble des systèmes d’exploitation d’Apple : iOS, iPadOS, macOS, tvOS, watchOS et même visionOS.
Je vois encore beaucoup de projets hésitant sur ce choix technologique et de développeurs qui ne parviennent pas à se décider, tiraillés entre deux idées qui se confrontent :
- D’un côté, la réticence à l’idée de migrer un projet sur une nouvelle technologie, ou la peur de démarrer un projet sur une technologie sur laquelle il n’y a pas encore assez de recul ;
- De l’autre, l’envie des développeurs d’utiliser une technologie moderne et portée par Apple comme étant le futur du développement de leur écosystème.
En 2025 alors, quel framework choisir pour un projet iOS ? Voici un comparatif des forces et des faiblesses de chacune de ces deux technologies utilisées par Apple.
SwiftUI : un développement rapide et multiplateforme


Le nouveau framework déclaratif d’Apple se veut plus simple à prendre en main et dispose de nombreux avantages.
1.
Un développement rapide
Grâce à sa syntaxe déclarative, SwiftUI permet de construire des interfaces plus simplement et avec moins de code. Avec l’implémentation de Xcode Previews, il est désormais possible de développer une interface et de voir les changements en temps réel sans avoir besoin de relancer un build après chaque modification. À la clé : un gain de temps considérable sur des projets lourds où le temps de compilation est parfois long.
2.
Un développement multiplateforme
Un seul code pour iOS, macOS, watchOS, tvOS et visionOS, facilitant la maintenance et le partage de composants entre les plateformes Apple. Il est par exemple totalement possible de développer une application pour iPadOS, donc au format tablette, pour ensuite la rendre compatible avec macOS et toute la gamme d’ordinateurs d’Apple sans aucun développement supplémentaire.
3.
Une facilité de prise en main et de relecture
Par sa syntaxe déclarative, SwiftUI est un langage plus facilement lisible et compréhensible par les développeurs.
4.
Des animations et transitions fluides
Avec des API simplifiées pour gérer les animations et les effets visuels, SwiftUI permet plus facilement, et avec beaucoup moins de code, d’animer vos interfaces.
5.
Interopérabilité avec UIKit
Pour faciliter les migrations et le passage de UIKit à SwiftUI, il est possible d’intégrer des vues UIKit dans SwiftUI avec UIViewRepresentable. Cet objet a été mis en place par Apple dans le but de pousser les développeurs au passage vers SwiftUI.
Envie de booster votre production logicielle ? Intégrez les principes du Lean à votre démarche DevOps !
👉 Découvrez notre article « DevOps, Lean, chaîne de valeur : optimiser la production logicielle »


Les limites associées à SwiftUI
Mais attention tout de même, il s’agit encore d’un framework “jeune” et en cours de développement. Il y a donc certains aspects qui peuvent être perçus comme des inconvénients ou même des blocages dans l’utilisation de SwiftUI.
1.
Des fonctionnalités incomplètes
Certaines API avancées (comme les gestures complexes ou les animations poussées) sont encore mieux supportées par UIKit et plus difficile à implémenter en SwiftUI.
2.
Moins de flexibilité
SwiftUI impose un certain cadre qui peut être contraignant pour des interfaces très personnalisées. Il est, par exemple, plus complexe de gérer des marges entre certains composants pixel par pixel.
3.
Un support limité pour les anciennes versions d’iOS
SwiftUI nécessite iOS 13 minimum, et beaucoup de fonctionnalités récentes demandent iOS 15, 16 ou même 17. Il faut prendre en compte que ces fonctionnalités arrivent progressivement avec l’évolution du framework, et peuvent apporter des solutions qui ne sont pas compatibles avec des versions antérieures d’iOS. Il n’est d’ailleurs pas impossible que de nouvelles fonctionnalités arrivent avec iOS 19, 20… qui ne seront pas compatibles avec les OS précédents.
UIKit : la valeur sûre


UIKit reste aujourd’hui encore un choix légitime pour développer une application. Utilisé depuis plus de dix ans par les développeurs Apple, il présente de nombreux avantages.
1.
Maturité, stabilité et ressources
Utilisé depuis iOS 2, UIKit est éprouvé et parfaitement optimisé. Cette maturité favorise aussi l’accès à une large communauté et à une quantité impressionnante de solutions disponibles en ligne pour de nombreux problèmes rencontrés au fil des années par les développeurs.
2.
Un contrôle total
UIKit offre une plus grande flexibilité pour créer des interfaces complexes et sur mesure. Il est beaucoup plus simple de gérer individuellement les positions des objets graphiques avec UIKit et Auto Layout qu’avec SwiftUI.
3.
Une compatibilité avec toutes les versions d’iOS
Contrairement à SwiftUI, UIKit fonctionne même sur des appareils plus anciens et beaucoup moins de fonctionnalités sont disponibles uniquement avec des versions systèmes récentes.
Même hors de l’écosystème iOS, le choix de frameworks pérennes est crucial
👉 Découvrez notre article : React, Angular : les frameworks des géants de la tech sont-ils vraiment fiables ?


Quels inconvénients à l’utilisation de UIKit ?
Avec l’arrivée de SwiftUI, on peut néanmoins trouver des inconvénients à l’utilisation de UIKit.
1.
Un code plus verbeux et moins intuitif
Définir une interface nécessite souvent plusieurs fichiers et une gestion manuelle du layout avec Auto Layout. De nombreuses fonctionnalités sont moins intuitives et nécessitent plus de code que SwiftUI. Par exemple : la gestion des animations.
2.
Un environnement moins adapté aux nouvelles plateformes
Bien que toujours supporté, UIKit est moins optimisé pour macOS, watchOS et tvOS. Apple se concentre désormais sur le développement et l’optimisation de SwiftUI.
Conclusion : lequel est le meilleur entre SwiftUI et UIKit ?
SwiftUI est aujourd’hui le framework à privilégier pour développer des nouvelles applications. Pourquoi ? Parce qu’il permet un développement plus rapide grâce à son format déclaratif. En revanche, il faut prendre en compte que de nombreuses fonctionnalités ne sont compatibles qu’à partir d’iOS 15 voire iOS 16 pour certaines. Il importe donc de privilégier les applications qui ne nécessitent pas le support de versions anciennes d’iOS.
UIKit reste aujourd’hui un excellent choix pour le développement des applications. Il permet également un contrôle plus poussé de l’UI, et permet de créer des interfaces personnalisées et complexes plus facilement que SwiftUI.
De mon point de vue, pour la majeure partie des nouveaux projets, SwiftUI est aujourd’hui le choix principal pour le développement d’une nouvelle application Apple. Mais utiliser UIKit n’est pas une erreur. Pour faire simple, on peut résumer l’utilisation de ces deux frameworks graphiques de la manière suivante :
- SwiftUI favorise le développement d’une application moderne, ne nécessitant pas de compatibilité avec des versions d’OS historiques et qui suit les aspects graphiques mis en avant par Apple.
- UIKit simplifie le développement d’application avec des interfaces complexes, ou nécessitant la compatibilité avec des versions iOS antérieures.
À noter que pour les applications complexes, SwiftUI permet également d’intégrer des vues UIKit grâce à UIViewRepresentable. Il est donc tout à fait possible d’effectuer une migration progressive d’un projet en UIKit vers un projet en SwiftUI en faisant cohabiter ces deux technologies.
Au delà du code, d’autres facteurs comptent pour un développement réussi !
👉 Découvrez notre livre blanc « Livre Blanc Software Craftsmanship »

Vous avez aimé cet article ?
Abonnez-vous à notre newsletter pour ne rien rater de l’actualité Tech et Finance.

Pas encore de commentaires