Apple

SwiftUI était l'étoile la plus brillante dans une galaxie de nouvelles idées

Par Maximus , le 19 juin 2019 - 13 minutes de lecture

Lors de la conférence mondiale des développeurs d'Apple, j'ai rencontré beaucoup de développeurs novices de WWDC et de vétérans expérimentés qui ont déclaré avoir assisté à l'événement de développement annuel organisé par Apple en 1991. La réponse unanime à "quelle est la chose la plus excitante vu cette semaine? " était SwiftUI, haut la main.

Pourquoi SwiftUI est une très grosse affaire

Ce n'est pas difficile de comprendre pourquoi. La nouvelle infrastructure SwiftUI exploite les fonctionnalités du langage Swift personnalisé d’Apple pour permettre aux développeurs de créer plus facilement un code d’interface utilisateur avec moins d’erreurs tout en offrant davantage de fonctionnalités.

Cela signifie moins d’efforts consacrés à la création des éléments d’interaction de routine des applications, ce qui entraîne moins de code à déboguer et à gérer, ainsi que la prise en charge quasi automatique de nouvelles fonctionnalités de plate-forme allant de l’apparition du mode sombre dans iOS et macOS Catalina à l’accessibilité avancée. Type dynamique qui permet aux utilisateurs d’ajuster la taille du texte, une localisation large pour les langues étrangères, des animations avancées qui clarifient l’interface utilisateur et la navigation et donnent aux applications une apparence moderne et agréable à utiliser.

SwiftUI permet aux développeurs d’Apple de développer leurs propres idées originales tout en générant des logiciels plus cohérents, puissants et modernes. L’impact réel de SwiftUI sur le monde réel sera énorme, car nous savons que peu de temps après son envoi plus tard cette année, iOS 13 deviendra la plate-forme logicielle la plus importante et la plus importante du point de vue commercial au monde. Le nouvel iPadOS deviendra immédiatement essentiellement la seule plate-forme de tablette qui compte, et les nouveaux macOS Catalina et watchOS 6 serviront de la même manière de grandes plates-formes uniques d'utilisateurs aisés qui achètent des logiciels.

Un coup de pied rapide dans l'OS

Apple a d'abord présenté son nouveau langage de programmation Swift à la WWDC14. Swift a avancé une approche moderne consistant à repenser les idées empruntées à une variété de langages populaires pour aboutir à ce que Apple appelle "un langage de programmation de qualité industrielle aussi expressif et agréable qu'un langage de script".

En particulier, le code Swift est conçu pour être concis, facile à comprendre et à déboguer. Il est également plus familier aux développeurs Java et C #, et généralement plus facile à apprendre pour les nouveaux programmeurs que Objective C.

Lors de la WWDC16, Apple a présenté Swift Playgrounds pour iPad, une application conçue pour aider les étudiants et les nouveaux programmeurs à acquérir des compétences en matière de codage avec Swift. Apple a également créé l'initiative "Everyone Can Code" pour promouvoir Playgrounds en tant qu'outil d'apprentissage de la programmation et a publié un programme d'enseignement d'un an pour le développement de logiciels Swift, appelé "App Development with Swift".

Swift peut être utilisé pour créer à la fois des titres AppKit pour macOS et des applications UIKIt pour iPhone, iPad, Apple TV et Apple Watch. Cependant, ces API de développement ont été créées avant Swift. La nouvelle SwiftUI tire pleinement parti des fonctionnalités de Swift spécialement pour simplifier et accélérer le travail de mise en page de l'interface utilisateur des applications sur toutes les plates-formes Apple. SwiftUI offre effectivement une approche raffinée pour la création d'un code qui améliore l'apparence des applications, de manière à augmenter considérablement la productivité des développeurs.

SwiftUI sur les plateformes Apple

Le site de développement Apple pour SwiftUI le décrit comme "un moyen novateur et extrêmement simple de créer des interfaces utilisateur sur toutes les plates-formes Apple avec la puissance de Swift. Créez des interfaces utilisateur pour tout appareil Apple à l'aide d'un seul ensemble d'outils et d'API."

Plutôt que d'essayer de créer du code générique "écrire une fois pour toutes, n'importe où" dans l'esprit de Java, SwiftUI a été présenté à WWDC comme un outil destiné aux développeurs pour "apprendre une fois, appliquer n'importe où". SwiftUI, comme Swift elle-même, est déclarative, permettant aux programmeurs de mettre en forme une interface utilisateur, puis d'ajuster son apparence et son fonctionnement sur plusieurs plates-formes de manière appropriée pour chaque périphérique.

Alors qu'Android, Java et Windows 10 ont tous pour objectif de créer un code évolutif pour les vêtements, les téléphones, les tablettes et les PC, SwiftUI suit la mentalité unique d'Apple consistant à faire référence à chacune de ses catégories de produits avec un système d'exploitation descriptif. titre qui isole des comportements et des styles d'interaction spécifiques.

Par exemple, Apple Watch n'est pas qu'un simple iPhone au poignet. Il est désigné comme exécutant watchOS parce que ses interactions sont conçues pour être brèves et luisantes. Les gestes de l'utilisateur sont simples, les données présentées sont brèves et significatives, et il comporte un mécanisme de saisie unique via Digital Crown, ce qui est logique sur un ordinateur portable mais pas sur une tablette ou un ordinateur de bureau. SwiftUI est conçu pour faciliter l’utilisation du code existant et le connecter à une interface watchOS personnalisée.

De même, Apple a également expliqué qu'Apple TV n'était pas simplement un hybride TV-PC, ni une expérience mobile plus large, mais plutôt sa propre expérience tvOS unique, dans laquelle les utilisateurs voudraient disposer d'un sous-ensemble simplifié de fonctionnalités utiles pour l'utilisation de ses fonctions. interface utilisateur axée sur la mise au point depuis la pièce, dirigée par la télécommande Siri.

Apple a encore développé les différences entre iPhone et iPad cette année en distinguant iPadOS d’iOS. Il y a toujours eu des différences dans la présentation des applications optimisées pour iPad par rapport aux applications "compactes" pour iPhone. Cependant, le nouvel iPadOS précise que le style des interactions avec l'iPad se différencie sensiblement de celui d'un iPhone ou d'un iPod touch de poche, en permettant les interactions glisser-déposer des applications, le partage d'écran et le glisser.

De même, sur le Mac, les utilisateurs sont généralement assis et disposent d'un écran plus grand, d'un clavier physique et d'un pointeur précis, ce qui facilite la gestion d'interactions plus complexes avec des fenêtres qui se chevauchent, plusieurs espaces et même un bureau pouvant couvrir plusieurs écrans.

Apple a également annoncé des plans parallèles avec Project Catalyst pour permettre l’adaptation des applications iPad existantes afin qu’elles fonctionnent en mode natif sur Mac et tirent pleinement parti de son modèle d’interaction plus complexe. SwiftUI offre une alternative à la création de code d'interface utilisateur qui peut être réutilisé et adapté pour créer des applications fonctionnant sur les plates-formes Apple.

Catalyst est conçu pour fournir des applications Mac avec des fonctionnalités spécifiques à la plate-forme; SwiftUI peut être utilisé pour améliorer l'interface utilisateur des applications existantes

Adoption rapide de l'animation, de l'accessibilité et de la localisation

Depuis le Macintosh d'origine, Apple s'est efforcé d'utiliser des animations pour renforcer les concepts d'interface utilisateur, améliorer l'expérience de l'utilisateur et clarifier la navigation. L’accessibilité a également été innovante, car elle permet à chacun d’utiliser ses outils informatiques en offrant aux personnes présentant des déficiences visuelles, sonores ou motrices de nouvelles façons de saisir des données et de comprendre les réponses. La localisation est également une caractéristique prioritaire d’Apple, qui veille à ce que ses produits puissent être utilisés dans le monde entier, y compris des langues telles que l’arabe et l’hébreu, écrites de droite à gauche.

Cependant, ces fonctionnalités ont toutes demandé un travail important aux développeurs tiers pour s'assurer que leurs applications possèdent les mêmes fonctionnalités animées, accessibles et localisées que le système d'exploitation sur lequel elles s'exécutent. Avec SwiftUI, Apple aide les développeurs à prendre en charge ces fonctionnalités aussi facilement que possible. Dans de nombreux cas, cela se produit automatiquement.

Apple déclare: "Avec une syntaxe déclarative Swift facile à lire et naturelle à écrire, SwiftUI fonctionne de manière transparente avec les nouveaux outils de conception Xcode pour que votre code et votre conception soient parfaitement synchronisés. Prise en charge automatique des moyens de type dynamique, mode sombre, localisation et accessibilité votre première ligne de code SwiftUI est déjà le code d'interface utilisateur le plus puissant que vous ayez jamais écrit. "

Avec la syntaxe déclarative de SwiftUI, les développeurs indiquent simplement ce que leur interface utilisateur doit faire, de la même manière que JavaScript sur le Web. Cela aide à créer un code simple, facile à lire et à gérer. Le style déclaratif de SwiftUI permet également des animations complexes, qui peuvent être facilement ajoutées à un contrôle en choisissant parmi une collection d'effets prêts à l'emploi. Le système gère tout ce qui est nécessaire pour afficher des animations d'interface utilisateur fluides sous le capot.

Sur le canevas de conception, les éditions graphiques sont synchronisées avec le code dans l'éditeur. Le code est instantanément présenté dans un aperçu graphique lorsque vous le tapez. Xcode recompile instantanément les modifications et les insère dans une version en cours de votre application, visible et modifiable à tout moment. À la WWDC, ce nouveau style d'édition graphique a été qualifié de "Terrains de jeu sous Steroids". Ci-dessous, Meng To a présenté un exemple de la facilité avec laquelle il est facile de créer une interface utilisateur animée à l'aide de SwiftUI avec les puissants outils de prévisualisation graphique de Xcode 11.

SwiftUI prend en charge la disposition par glisser-déposer des composants de l'interface utilisateur dans l'interface utilisateur en faisant simplement glisser des contrôles sur le canevas. Une fois placé, vous pouvez facilement réorganiser les contrôles ou cliquer pour ouvrir un inspecteur afin de sélectionner la police, la couleur, l'alignement et d'autres options de conception. Même si vous préférez coder manuellement certaines parties de votre interface, vous pouvez utiliser les inspecteurs pour découvrir de nouveaux modificateurs pour chaque contrôle. Vous pouvez faire glisser des contrôles de votre bibliothèque et les déposer sur le canevas du design ou directement sur le code.

Xcode peut échanger le code modifié directement dans votre application en direct avec "remplacement dynamique", une nouvelle fonctionnalité de Swift. Vous pouvez également créer plusieurs aperçus de toute vue SwiftUI pour présenter des exemples de données et configurer des variantes qu'un utilisateur peut définir, telles que le mode sombre, des polices de type dynamique plus grandes ou des localisations en langues étrangères. Les aperçus peuvent également présenter votre interface utilisateur dans n'importe quel périphérique virtuel et dans n'importe quelle orientation.

Apple a créé une série de didacticiels expliquant comment créer un exemple d'application iPhone dans SwiftUI, expliquant pas à pas comment créer un nouveau projet Xcode, mettre en page le texte et les vues à l'aide de piles, incorporer des vues personnalisées, utiliser des vues SwiftUI avec UIKit pour incorporer des cartes. afficher, construire des listes et la navigation, gérer les entrées utilisateur, dessiner des chemins et des formes, animer des vues et des transitions, puis composer des interfaces plus complexes, utiliser des contrôles de l'interface utilisateur et faire interface avec UIKit.

SwiftUI pour les utilisateurs finaux

Alors, que fera SwiftUI pour les utilisateurs? À l’heure actuelle, le code SwiftUI ne fonctionne que sur les nouveaux systèmes d’exploitation d’Apple: macOS Catalina 10.15, iOS 13, iPadOS 13, tvOS 13 et watchOS 6. Cela signifie que les utilisateurs normaux ne verront aucune application SwiftUI jusqu’à septembre prochain. Et parce que de nombreux développeurs ont besoin de prendre en charge les utilisateurs des systèmes d'exploitation un an ou deux, l'adoption de SwiftUI peut prendre un certain temps.

Cependant, tout comme Swift a aidé les développeurs d’Apple à devenir plus productifs et plus efficaces, SwiftUI est une stratégie à long terme d’Apple visant à créer des programmeurs plus compétents et compétents. Cela contribuera non seulement à améliorer la qualité des applications que les utilisateurs voient, mais devrait également aider les développeurs iOS à intégrer plus facilement leur travail sur d'autres plates-formes plus petites d'Apple. Tout comme Catalyst promet de contribuer à la création d'applications pour iPad sur Mac, SwiftUI facilitera l'adaptation des applications iOS en titres optimisés pour iPad, Apple TV et Apple Watch, chacun utilisant les conventions natives de cette plate-forme pour offrir la meilleure expérience possible. .

SwiftUI promet également d’améliorer l’apparence des applications en facilitant l’incorporation d’animations fluides pour les développeurs, ainsi qu’une meilleure prise en charge des localisations globales, ainsi que du mode sombre et du texte dynamique, ainsi que des fonctions d’accessibilité aidant les utilisateurs handicapés. La nature automatique de SwiftUI dans l'amélioration des plates-formes de développement d'Apple laisse également entrevoir des fonctionnalités futures, dans lesquelles Apple peut apporter des améliorations à ses infrastructures, dont les applications peuvent hériter gratuitement.

De plus, SwiftUI et Swift peuvent également rendre la programmation plus accessible à un plus grand nombre d'utilisateurs, y compris aux personnes qui ont une idée pour une application mais qui ne possèdent pas les compétences nécessaires pour créer des logiciels. En rendant ses outils de développement plus faciles à apprendre et plus simples à utiliser, Apple peut continuer à étendre sa base de développeurs au niveau mondial, en leur offrant le magasin le plus lucratif pour la vente de leurs applications, ainsi que les meilleures accessibilité et localisations nécessaires pour atteindre des publics du monde entier.

Maximus

Commentaires

Laisser un commentaire

Votre commentaire sera révisé par les administrateurs si besoin.