Unité 3 / 11

Conception d'interface et génération de code d'interface utilisateur avec l'intelligence artificielle

Gains :

  • Capacité à produire du code d'interface robuste pour Jetpack Compose et SwiftUI par ordre d'objectif, composant, quatre états (chargement/vide/erreur/complet), système de conception et accessibilité
  • Capacité à réaliser une interface ouverte à tous les utilisateurs en définissant l'accessibilité dès le départ, avec un étiquetage correct, un contraste suffisant et un toucher approprié.
  • Possibilité de créer des interfaces cohérentes, multilingues et prêtes pour les thèmes clairs/sombres en lisant la couleur et l'espace à partir du thème central

Le succès d'une application mobile est largement déterminé par son interface utilisateur (UI — les écrans que l'utilisateur voit et touche) et son expérience utilisateur (UX — son utilisation fluide et agréable). L'utilisateur ne voit pas le mauvais code, mais ressent la mauvaise interface dès la première seconde. L'IA joue deux rôles puissants dans le développement d'interfaces : d'une part, elle génère une idée de conception, un flux et du texte (écriture UX) ; D’un autre côté, il convertit directement cette conception en code d’interface fonctionnel. Dans cette unité, nous apprendrons comment produire des interfaces rapides, accessibles et cohérentes avec l'IA, en nous concentrant sur les outils d'interface déclarative modernes Jetpack Compose (Android) et SwiftUI (iOS). « Déclaratif » signifie qu'au lieu d'expliquer étape par étape comment dessiner l'écran, vous décrivez « voici à quoi devrait ressembler l'écran dans cette situation » ; L'outil fait le reste.

De la conception au code : le bon ordre

Dire à l’IA de « créer un bel écran » est vague car le « beau » ne peut pas être mesuré. Une bonne génération d'interface suit cet ordre :

  1. Objectif et contenu. Que fait l'écran, quelles informations affiche-t-il, que fera l'utilisateur ?
  2. Liste des composants. Parties telles que titre, liste, bouton, champ de formulaire.
  3. Situations. Chargement, vide (pas de données), erreur, plein — les quatre états d'écran de base.
  4. Système de conception. Couleur, typographie, règles d'espacement ; généralement conforme aux directives d'interface humaine de Material 3 (Android) ou iOS.
  5. Accessibilité. Étiquettes du lecteur d'écran, contraste adéquat, taille de la cible tactile.
  6. Code. Cela dit, génération Composable ou SwiftUI View.

L’étape la plus fréquemment ignorée est la troisième. Les développeurs ne considèrent que l'état « complet » ; alors que dans une application réelle, l'utilisateur rencontre principalement des situations de « chargement » et d'« erreur ». L'impression des quatre états sur l'IA est le secret d'une interface robuste.

Astuce : ajoutez « générer le chargement, le vide, l'erreur et le plein séparément » à la fin de l'invite. Cette seule phrase prépare votre interface au monde réel et réduit considérablement le nombre d’erreurs lors de la phase d’assurance qualité (tests de qualité).

L'accessibilité n'est pas négociable

L'accessibilité – la possibilité d'utiliser l'application par les utilisateurs ayant un handicap visuel, auditif ou moteur – est à la fois une responsabilité éthique et une attente commerciale et légale. L'IA produit du code accessible si vous le souhaitez ; Renvoie une interface sans balise et à faible contraste si vous ne le souhaitez pas. Trois règles empiriques : donnez à chaque élément interactif une étiquette significative pour le lecteur d'écran (contentDescription/accessibilityLabel), un contraste de couleurs adéquat entre le texte et l'arrière-plan (rapport d'au moins 4,5 : 1) et une cible tactile d'au moins 48 x 48 dp/44 x 44 pt. Demandez explicitement ces choses à l’IA.

Attention : l'IA peut également ajouter une longue balise d'accessibilité à une icône décorative ; Cela submerge l’utilisateur du lecteur d’écran de bavardages inutiles. Les éléments purement décoratifs doivent être « cachés à l'accessibilité » (autorisés à être ignorés par le lecteur d'écran). Revoyez les étiquettes réalisées : laissez parler le significatif, laissez le décoratif se taire.

Cohérence : système de conception et thème

Les applications professionnelles n’utilisent pas de couleurs ni d’espacement aléatoires ; suit un système de conception (ensemble standard de couleurs, polices, espacement et composants). Si vous donnez à l'IA les valeurs de votre thème (couleur principale, couleur secondaire, rayon des coins, échelle de typographie), tous les écrans seront cohérents. Si vous ne le faites pas, chaque écran utilisera une nuance de bleu différente et l'application paraîtra encombrée. Le moyen le plus efficace est de demander d’abord à l’IA de générer un fichier de jetons de thème/conception, puis de lier tous les écrans à ce thème.

Sujet

mauvaise approche

Approche forte

Couleur

Codez manuellement chaque écran en couleur

Thème central, écrans lus à partir du thème

situations

Uniquement "plein" écran

Chargement/vide/erreur/plein quatre états

accessibilité

Ajouté plus tard

Il est défini dans la revendication depuis le début

texte

intégré dans le code

Source séparée, prêt pour plusieurs langues

trois mini-cases

Cas 1 — Cas vide enregistré. Une équipe d’application d’actualités a demandé à l’IA d’imprimer les états d’écran individuels. Grâce à l'écran « état d'inactivité » (« Aucune actualité enregistrée pour l'instant »), 70 % des participants aux tests utilisateurs n'ont pas quitté l'application sur un écran vide ; Dans la version précédente, l'écran vide restait blanc et les utilisateurs pensaient qu'il était « cassé » et partaient. Une petite copie a augmenté le taux de rétention.

Cas 2 — Rejet du contraste. Une équipe a postulé sur l'App Store avec des écrans avec du texte en gris clair, la couleur de la marque. Apple a émis un avertissement pour des raisons d'accessibilité en raison d'un faible contraste. Lorsqu'il a été demandé à l'IA d'"augmenter le contraste texte-arrière-plan au-dessus de 4,5:1", les couleurs sont devenues plus sombres et le problème a été résolu. Si cela avait été demandé dès le début, il n'y aurait pas eu de retard.

Cas 3 — Bruit d’étiquette décorative. Un testeur malvoyant a signalé que chaque icône d’ornement (« ligne », « point », « ombre ») était lue à haute voix sur l’écran généré par l’IA, rendant l’écran inutilisable. L'expérience du lecteur d'écran est devenue fluide lorsque les éléments décoratifs étaient cachés de l'accessibilité. Leçon : l'accessibilité signifie « les bonnes balises » et non « trop de balises ».

Invite faible/Invite forte

Invite faible : « Concevoir un écran de profil. »

Invite puissante : "Générer un écran de profil utilisateur pour iOS/SwiftUI. Contenu : avatar, nom, e-mail, bouton "Modifier le profil", liste des paramètres. Statuts : chargement (squelette), erreur (bouton Réessayer), complet. Conception : non matérielle, conforme à iOS HIG ; couleurs système, type dynamique. Accessibilité : étiquette d'accessibilité à chaque élément, icônes décoratives masquées, cible tactile min 44 pt. Lisez les valeurs du thème à partir d'un fichier séparé, n'intégrez pas de code couleur à l'écran. Dessinez d'abord le arborescence des composants, puis exportez le code."

Modèles copiables

Modèle de génération d'écran : "Générer [nom d'écran] pour [plate-forme/outil]. Contenu : [éléments]. Actions utilisateur : [actions]. Générer quatre états séparément : chargement, vide, erreur, complet. Système de conception : [Matériau 3 / iOS HIG], lecture à partir des jetons de thème. Accessibilité : étiquettes, contraste >=4,5:1, norme de cible tactile."

Modèle de système de thème/conception : "Produire une définition de thème centrale pour mon application ([Composer un thème/une structure de jeton de conception dans SwiftUI]) : - Couleur primaire [hex], secondaire [hex], couleur d'erreur, couleur de surface - Échelle de typographie (titre, corps, description) - Échelle d'espacement (4,8,16,24) - Rayon de coin standardAjouter la prise en charge des thèmes clairs et sombres. »

Modèle d'audit d'accessibilité : « Vérifiez l'accessibilité de ce code d'écran : 1) Y a-t-il des éléments interactifs non balisés ?

Modèle de conception à code : "Je décris la conception suivante : [description de l'écran ou capture d'écran]. Traduisez-le en code [Compose/SwiftUI]. Gardez l'espacement et l'alignement fidèles à la conception, mais ajoutez les quatre états. "

Erreurs courantes

  • Je pense juste à la situation dans son ensemble. La plupart du temps, l'utilisateur réel voit l'écran de chargement/erreur.
  • Intégration de la couleur et de l'espace dans le code. Si le thème n’est pas central, la cohérence se perd et la maintenance devient difficile.
  • Laissons l’accessibilité pour la fin. L’ajouter plus tard coûte cher ; C’est gratuit si vous en faites la demande dès le début.
  • Surétiquetage. La lecture d’éléments décoratifs perturbe également l’expérience du lecteur d’écran.
  • Intégration de texte dans le code. Lorsqu'un support multilingue est requis, il est nécessaire de changer manuellement chaque écran ; Gardez les textes séparés.
  • J'attends une copie exacte de la capture d'écran. La conception de l'IA produit env. La précision des pixels est définie manuellement.

En résumé

L’IA est puissante dans la production d’interfaces, mais elle nécessite des conseils. Le bon ordre : objectif, composants, quatre états (chargement/vide/erreur/plein), système de conception, accessibilité, puis code. L’accessibilité n’est pas négociable et signifie « le bon label », et non « trop de labels ». Pour des raisons de cohérence, lisez la couleur et l'espacement à partir du thème central, ne l'intégrez pas dans le code. La volonté forte définit tout cela dès le début ; Ainsi, l'interface est prête pour le monde réel, l'approbation du magasin et tous les utilisateurs.

Tâche de candidature

À l'aide du « Modèle de génération d'écran » pour un écran de paramètres, demandez à l'IA le code Compose ou SwiftUI et demandez les quatre états. Faites ensuite vérifier le même code avec le "Modèle de contrôle d'accessibilité". Recherchez et corrigez au moins une amélioration de l'accessibilité (étiquette manquante, faible contraste ou petite cible tactile) et notez quel statut (chargement/vide/erreur) qui, selon vous, apparaîtra le plus souvent en utilisation réelle.

liste de contrôle

  • [ ] J'ai précisé le but et les composants de l'affichage dans l'invite
  • [ ] J'ai fait générer les quatre états (chargement/vide/erreur/plein) séparément
  • [ ] J'ai fait lire la couleur et l'espace à partir du thème central, je ne l'ai pas intégré dans le code.
  • [ ] Je voulais des labels d'accessibilité et du contraste dès le début
  • [ ] J'ai vérifié que les éléments décoratifs sont masqués au lecteur d'écran
  • [ ] J'ai gardé les textes séparés, prêts pour plusieurs langues