Selon Apple, SwiftUI constitue un nouveau paradigme pour le développement de l’UI qui tire parti de la puissance de Swift et sa syntaxe déclarative facile à lire et à écrire. En pratique, il va permettre de réduire le nombre de lignes de code requis. SwiftUI fonctionne de pair avec les outils de Xcode pour maintenir le code et le design parfaitement en synchronisation. Il offre aussi par défaut le support de fonctionnalités comme la localisation (pour les langues de droite à gauche), des transitions animées, les aperçus en temps réel et la prise en charge du nouveau mode sombre et les outils d'accessibilité dans iOS.
Syntaxe déclarative
SwiftUI utilise des éléments déclaratifs pour permettre aux développeurs d’écrire les mêmes UI avec moins de code. À titre d’exemple, il est possible d’écrire que vous voulez des éléments qui consistent en des zones de texte, pour ensuite spécifier l’alignement, la police et la couleur de chaque zone. Ainsi, le code est plus simple et plus facile à comprendre, ce qui permet de gagner du temps et réduire la charge de la maintenance.
Le style déclaratif s'applique également à des concepts tels que l'animation, les développeurs peuvent ajouter de l'animation à presque tous les contrôles et choisir une collection d'effets prêts à l'emploi en quelques lignes de code seulement. Lors de l'exécution, le système prend en charge les étapes nécessaires à la création d'un environnement fluide et gère les interruptions pour maintenir la stabilité des applications.
Drag and drop
Tout se passe en temps réel à l’intérieur de Xcode. En effet, les outils de design de l’EDI permettent la création de UI en glisser-déposer avec SwiftUI. Les développeurs peuvent tout simplement déclarer le type de composants de l’UI qu’ils souhaitent afficher pour les voir. Les changements apportés à l’Ui sont visibles au fur et à mesure que le développeur écrit. Xcode recompile les modifications et les met dans une version de l’application en cours d'exécution.
Previews
Dernier point important, SwiftUI permet de créer des interfaces sur toutes les plateformes d’Apple : iOS, tvOS, macOS et watchOS.
Il apparaît que SwiftUI constitue la réponse d’Apple pour les frameworks comme React Native et Electron. Le framework simplifie énormément la création d’UI pour plusieurs plateformes, offre un beau langage inclus dans les piles, et la méthode dynamique de Swift 5.1 offre une fonctionnalité similaire au hot reloading.
À première vue, SwiftUI ressemble fortement à Flutter, le framework de Google destiné à développer des applications multiplateformes pour Android et iOS, ainsi que Fuchsia (Windows, Mac et Linux sont aussi supportés). Pour cette raison, il serait intéressant de savoir si Apple a été inspiré par le web et les nouveaux frameworks comme Flutter. On regrette toutefois que SwiftUI n’inclue pas le support de Windows, Linux et Android.
Source : apple
Et vous ?
Qu’en pensez-vous ?
Pensez-vous que les frameworks d'UI déclaratifs comme SwiftUI seront le futur du développement d'applications ?
Voir aussi
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
App Store : la Cour suprême US autorise les poursuites antitrust contre Apple, accusé d'être la raison de la hausse des prix des applications
Flutter : le framework UI de Google, en plus du mobile, prend désormais en charge le desktop, le Web et l'embarqué