Deux ans après son lancement, SwiftUI satisfait-il les développeurs ?

Florent Morin |

À la WWDC 2019, Apple annonçait SwiftUI, un nouveau framework permettant de créer des interfaces pour tous ses appareils, promesse de « moins de code pour de meilleures apps ». Deux ans plus tard, comment cette technologie a-t-elle été adoptée et comment a-t-elle évolué ?

Nous avons interrogé cinq développeurs et développeuses qui viennent de tous les horizons : Canada, Azerbaïdjan, France, Inde, États-Unis. Depuis le premier jour avec SwiftUI jusqu'à aujourd'hui, leur vision du framework a changé en même temps que lui. En dépit de doutes et de craintes, ils ont su dompter ce nouvel outil et partagent avec nous leur expérience.

avatar raoolito | 

FloMo, merci pour cette série d’interview !
je suis sur que vous l’utilisez aussi Swift UI non ?

avatar Florent Morin | 

Pour être transparent, j'ai réalisé la V1 de Ezymob. ^^
Mais ça a bien évolué depuis avec de la réalité augmentée et tout.

Et je viens de finaliser ce jour une app SwiftUI sur laquelle je travaillais depuis 6 semaines.

Du bonheur.

avatar raoolito | 

@FloMo

pour le néophyte que je suis:
uikit et appkit d'un côté
swiftui de l'autre
swift au milieu

swift ui c'est swift spécial interface compatible mac/watc/ios
uikit et appkit c'etait ce qui permettait de faire pareil mais par plateforme
swift ui va remplacer les deux autres à terme

j'ai bon?

avatar Florent Morin | 

Cela tend vers ça, en effet.

Et peut-être plus que Mac / Watch / iPhone / iPad / Apple TV... (non, je ne spoilerai pas 😉 )

avatar iValFR | 

Tout à fait d’accord, en terme de facilité et d’efficacité SwiftUI est génial !
Mais il est encore limité face à UIKit à cause de sa jeunesse, hâte de voir les améliorations apportées dans le futur
Super article 👍

avatar quentinf33 (non vérifié) | 

@iValFR

Swift et SwiftUI ont un très très gros avenir selon moi. Des développeurs ont déjà développé des applications Windows à l’aide de Swift.

Ayant commencé a apprendre le dev avec l’arrivée de Swift, l’arrivée de SwiftUI m’a fait faire un gros bond en avant et j’ai réussi à faire des choses un peu plus complexes.

Quand mon Mac reviendra de réparation (j’espère que l’assurance va me prendre en charge, mais je me fais pas trop d’espoir car c’est une assurance…), j’ai hâte de me coller à Xcode 13 !

avatar Sun99 | 

@quentinf33

J’essaye d’apprendre Swift en ce moment mais je suis débutant! Un conseil par où commencer, un tutoriel, bouquin ou une plateforme comme Udemy?

avatar Florent Morin | 

@Sun99

Les 100 jours de Swift de Paul Hudson.

avatar macbook60 | 

@FloMo

Plus rapide la réponse lol

avatar Florent Morin | 

@macbook60

Les cours de Maxime ont l’avantage d’être en français.

avatar macbook60 | 

@FloMo

Effectivement et tarifs raisonnables

avatar Sun99 | 

@macbook60

Merci beaucoup!

avatar macbook60 | 

@Sun99

De rien bon courage

avatar iValFR | 

@FloMo

Les cours de Paul Hudson sont extras 👍

avatar macbook60 | 

@Sun99

Bonsoir les cours de Maxime Britto

avatar quentinf33 (non vérifié) | 

@Sun99

Effectivement Paul Hudson est excellent bien qu’en anglais, mais bon on développe dans un environnement anglophone donc ça ne peut pas déranger, mais si on veut débuter en français Maxime est très bien aussi ! J’ai commencé par lui en tombant sur des formations à tarifs réduits (Grace à MacG je crois ?).

avatar kiddsoso | 

SwiftUI est malheureusement trop limité quand on veut réaliser des interfaces un peu différentes et complexes.

Après pour ceux qui n’aiment pas les Storyboards, ça doit être génial.

Sinon, on en parle d’Xcode qui se dégrade d’années en années ? Un article a ce sujet serait vachement cool

avatar quentinf33 (non vérifié) | 

@kiddsoso

J’ai une profonde aversion pour les storyboard, et l’auto layout est compliqué à comprendre en tant que débutants. Moi même j’obtenais parfois des résultats bizarres…

SwiftUI pour le design d’interface est super facile ! Je crée en général plusieurs vues séparées que je vais regrouper ensuite (ça parait évident mais oui j’ai déjà vu des codes où toute l’interface est codée directement sur le « main.swift »…)

Très accessible.

Qu’est ce qui se dégrade dans Xcode ?

avatar Florent Morin | 

@quentinf33

Bonne approche : des petites vues.

Personnellement, je délègue toute la gestion de la donnée à un ou plusieurs package Swift. C’est facile à mettre en place et ça clarifie le code.

avatar kiddsoso | 

@quentinf33

Et pourtant, les storyboards sont très faciles à prendre en main et c’est beaucoup plus naturel que de faire ses interfaces en code, après pour les autolayouts et les constraints je suis d’accord et je trouve qu’Apple aurait pu essayer de rendre ça plus intuitif mais à force en pratiquant, ça deviens relativement moins contraignant.

J’espère que SwiftUI ne sera pas obligatoire et qu’ils n’abandonnons pas les storyboards mais faut avouer que pour faire des petits projets, c’est vachement cool !

Pour Xcode, au fur et à mesure qu’il évolue, il deviens de moins en moins stable (crash a l’ouverture d’un projet, crash quand on ferme le simulateur, autocompletion ou couleurs qui n’apparaissent pas…) y’a qu’à voir les commentaires récents d’Xcode pour voir qu’il y a un sérieux problème…

avatar StephanMart | 

@kiddsoso

Swift et Swift Ui sont développés en Objectif C en interne chez Apple.

avatar kiddsoso | 

@StephanMart

Hein ?

avatar Florent Morin | 

@StephanMart

Swift est open-source et seulement 0,6 % d’ObjC :
https://github.com/apple/swift

UIKit et AppKit s’appuient essentiellement sur Objective-C. Mais pas SwiftUI. Sa syntaxe est propre au langage Swift.

avatar Sun99 | 

Je travaille en Angleterre donc l’anglais me dérange pas :)

avatar Cclleemm | 

Merci pour cette superbe interview !
J’ai développé une partie d’une grosse application avec SwiftUI en 2020 et je me sentais bien seul dans ce monde… beaucoup de problèmes en effet sur iOS 13 mais la situation s’améliore. J’espère que cette technologie aura du succès car sa philosophie me semble prometteuse !

avatar Florent Morin | 

@Cclleemm

Carrément. De mon côté, j’ai eu l’occasion de concevoir uniquement 2 apps « moyennes » en volume (20-30 écrans) mais on sent le potentiel.

Comme le souligne Malin, tout l’enjeu à ce stade est de tirer profit du workflow. Même si on doit créer quelques composants, ça reste productif. Les évolutions à venir seront du bonus.

CONNEXION UTILISATEUR