Developpez.com - Rubrique Swift

Le Club des Développeurs et IT Pro

Apple annonce SwiftUI, un framework d'interface utilisateur déclaratif moderne

Pour les plateformes d'Apple

Le 2019-06-04 13:49:48, par Coriolan, Expert éminent sénior
Hier, à l’occasion de la Worldwide Developers Conference (WWDC), Apple a dévoilé de nombreuses nouveautés, mais celle qui devrait intéresser plus les développeurs est peut-être le framework SwiftUI, un nouvel ensemble d’outils et API pour la conception d’interfaces utilisateur pour n’importe quel appareil Apple. Il s’agit d’un framework qui complète le langage de programmation Swift compilé open source pour iOS, macOS, watchOS, tvOS, Linux, et d'autres plates-formes ainsi que Xcode 11.

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


Vous pouvez maintenant créer un ou plusieurs aperçus de n'importe quelle vue SwiftUI pour obtenir des échantillons de données et configurer presque tout ce que vos utilisateurs peuvent voir, comme des polices de grande taille, des localisations ou le mode sombre. Les prévisualisations peuvent également afficher votre interface utilisateur dans n'importe quel périphérique et n'importe quelle orientation.

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é
  Discussion forum
2 commentaires
  • archqt
    Membre émérite
    Bref chacun y va de sa technologie, après QML, flutter voici swiftUI.
    N'empêche je trouve que celui qui est le plus simple c'est QML qui est du déclaratif pur avec éventuellement du javascript et ensuite la logique métier peut être codée en n'importe quelle langage.
  • epsilon68
    Membre expérimenté
    moi qui n'est pas encore fini de faire mon app...
    mais je ne passerais de toute facon pas tout de suite vers SwiftUI, le concept est bon tout ca, mais je laisse 2 ans aux autres pour faire le debugging et mettre les fonctionalités qu'il faut.

    Par contre, on a enfin a reusabilité, c'etait juste un cauchemar avant pour faire des composants re-utilisable qui s'affiche quand meme dans le designer...