Catalyst aujourd’hui, SwiftUI demain, Apple prépare le futur des interfaces

Anthony Nelzin-Santos |

Marzipan devait être la star de la WWDC. Après avoir dévoilé son nom définitif, « projet Catalyst », Craig Fedherighi lui a finalement consacré seulement quelques minutes. Il s’est fait voler la vedette par SwiftUI, un nouveau framework permettant de créer des interfaces pour tous les appareils Apple, avec une syntaxe déclarative en Swift. En promettant « moins de code pour de meilleures apps », il semble préfigurer le futur du développement applicatif pour la plateforme Apple.

La déclaration d’un élément d’interface avec Swift UI.

SwiftUI, donc, est un nouveau framework permettant de construire des interfaces, codé « en Swift et pour Swift ». Tout l’intérêt de SwiftUI repose dans son approche déclarative : on déclare la structure et l’arrangement de l’interface, on prévoit les éléments textuels et graphiques, et le système se charge du reste. Espacements, localisation, prise en charge du mode sombre et de Dynamic Type, animations… sauf à ce que les développeurs veuillent les modifier, SwiftUI fournit automatiquement tous les comportements par défaut.

SwiftUI évoque la manière dont on peut concevoir les interfaces sur Android, ou avec des frameworks comme React Native. Le code est plus simple et plus clair, le résultat est plus flexible et résilient, et — surtout — s’exécute sur tous les appareils. Des fondations à l’interface, les développeurs peuvent partager de plus en plus de code entre les différentes « versions » d’une application. L’objectif est clair : qu’une même application tourne de watchOS à macOS en passant par iOS, avec le même code, à l’exception de quelques ajustements spécifiques à chaque taille d’écran.

Mais alors, quid de Catalyst ? Il apparait comme une technologie de transition — rendez-vous compte qu’il repose sur une bidouille qui consiste à implanter un dossier système iOS, iOSSupport, au sein de macOS. SwiftUI semble être une solution bien plus robuste, parfaitement intégrée dans Xcode, quoiqu’encore très jeune. Pour le moment, SwiftUI cohabite avec AppKit sur macOS, UIKit sur iOS et macOS, et WatchKit pour watchOS. Pour le moment…

avatar letofzurichois | 

C’est la partie du Keynote qui m’a le plus happé :)

avatar Thms | 

SwiftUI est génial ?

avatar mk3d | 

Le futur du développement, tout un chacun pourra créer son app. Est-ce une bonne chose? Pas pour ceux qui en font leur métier. Mais bien pour l’avenir.

avatar jog_ch | 

@mk3d

Pas certain que "tout un chacun" pourra vraiment faire une application complète. Le développement logiciel ce n'est pas juste l'interface, mais toute la logique derrière, penser à tous les cas possibles, les optimisations, etc.
Je pense que de plus en plus de gens devraient commencer à se débrouiller avec des bases de programmation, ce sera utile à l'avenir. Mais tous savoir faire des applications, j'ai des doutes.

avatar oomu | 

"Le futur du développement, tout un chacun pourra créer son app. Est-ce une bonne chose? "

évidemment que c'est une bonne chose. Toute techno, outil , paradigme, philosophie qui donne plus d'autonomie et de possibilité aux gens est une bonne chose.

"Pas pour ceux qui en font leur métier. Mais bien pour l’avenir."

entre faire une app soi même et faire un logiciel complet, très fonctionnel , bien organisé et agréable, il y a un monde.

Il faudra toujours consacrer du temps (se professionnaliser donc), toujours avoir des compétences FORTES (se spécialiser donc), etc.

Tout le monde peut faire de la photo, pourtant on a toujours besoin de gens qui se spécialisent dedans

Tout le monde peut prendre des briques, pourtant faut des gens de métier pour bien faire tout et des entreprises dédiées pour un chantier d'immeubles.

etc etc.

Pour rappel, construire un logiciel tel Affinity Photo ou Safari demande beaucoup de temps et d'efforts.

avatar stefhan | 

@oomu

+1

avatar Dimemas | 

Oui mais est ce que tout le monde fait ou veut faire une application sur Mac, iPhone ??

Je veux dire, avant sur mobile c’était une chose mais sur ordinateur, c’est une autre histoire !

Pas sûr que ça soit en faveur d’apple Surtout quand on voit le prix moyen d’un mac ou d’un iPad avec suffisamment de disque et les problèmes de fiabilité ...

avatar occam | 

Côté soft, et même toutes catégories confondues, SwiftUI m’a paru l’annonce la plus prometteuse.
Ex æquo avec iPadOS, la plus significative.

Le double palmarès s’explique :
— d’un côté, le choix de la modularité dans l’universalité, choix logique et conséquent ;
— de l’autre côté, avec iPadOS, la confirmation de la segmentation à outrance des OS.

Le plaudit pour iPadOS reflète l’espoir du commencement de la fin des carences, après 9 de bridage humiliant de la tablette. Mais je m’attends à ce qu’Apple nous le fasse payer au prix fort. La logique de la segmentation à outrance dans un marché clos est impeccable — si toutefois la clientèle suit, et si elle ne regarde pas par dessus les murs de l’enclos.

avatar BooBoo | 

Cela fait un moment que je n'ai pas touché à Xcode, mais là, ça donne envie de s'y remettre !
Je trouvais ca bien lourd et compliqué la définition des écrans.

avatar Lucas | 

J’espère très fort que ça va être la mort d’Electron et de ces horreurs de webapps pas natives !!

avatar lawappe | 

@Lu Canneberges

Je ne pense pas. Car l’intérêt d’Electron est de cibler Windows et Linux, en plus de macOS. De plus, j’ai quand même le sentiment que c’est le (S)CSS d’Apple, ce SwiftUI ?

Mais faut reconnaître que c’est du beau bouleau ce nouvel outil.

avatar wilfried50 | 

Les graphistes et illustrateurs de génie vont enfin pouvoir mettre un peu plus les mains dans le cambouis et laisser libre court à leur imagination et ÇA c’est une très bonne nouvelle! Les dev seront bien sûr la pour le gros du boulot ?

avatar frankm | 

Il prépare le futur Mac / iPad

avatar Grizzzly | 

En gros ca permet de taper moins de lignes de code et d’utiliser une interface souris pour certains aspects c’est ça ?

Jai eu l’impression d’entendre une clameur scandalisée dans la foule quand ils ont montré swift ui du genre “Apple vient de nous planter un couteau dans le dos en automatisant notre travail et en le rendant plus accessible “
Est ce que je me trompe ?

Est ce qu’Apple est en train de coder le coding ? Est ce que demain on pourra developper entierement a la souris et apres demain on demandera a siri de coder pour nous ?

avatar mbritto | 

Pas forcément, c'est une belle amélioration de l'expérience de développement. Il y a beaucoup de compétences et d'organisation nécessaires pour créer une app complète ; la conception de l'interface graphique ne représente qu'une des parties de développement. C'est une des parties les plus fastidieuses en termes de temps et SwiftUI vise à la simplifier. Je pense que ça sera bienvenue chez la plupart des développeurs iOS comme ont pu l'être les précédents changements majeurs (ARC, AutoLayout, Swift, etc.).
En plus SwiftUI répond à la plupart des reproches faits aux Storyboards : problème de visibilité des réglages, utilisation avec Git, utilisation en équipe, Souris obligatoire, etc.

avatar macbook60 | 

@mbritto

Oh salut Maxime

avatar Grizzzly | 

@mbritto

Merci pour cette réponse détaillée
J’ai vu que votre formation integrerait ios 13 dès cet été, est ce que swift UI sera abordé également ?

avatar mbritto | 

@Macbook : Salut macbook60 ?
@Grizzly : Oui, c'est une des principales nouveautés de iOS 13, je le traiterai donc dans le nouveau cours.

avatar garba50 | 

Les dev iOS découvre la syntaxe déclarative pour les UI. C’est l’une des choses qui fait le succès de flutter.
Après, simplifier au maxi le code, fait gagner du temps, mais aussi survoler le sujet.

avatar Ducletho | 

« Craig Federighi indique que le simple fait de cocher l'option Mac dans Xcode permettait d'obtenir une « Macification » déjà importante du programme, et qu'il ne resterait que quelques ajustements pour proposer une expérience satisfaisante. »

Tout est le « cochage » de l’option.

avatar LoossSS | 

Ça me fait penser à du wpf plus simple d'accès, c'est l'idée ?

CONNEXION UTILISATEUR