WWDC 2019: instruments personnalisés et symboles SF, ainsi que de nouvelles approches pour le développement d'applications iOS



Les gens disent que la chance est le résultat d'un travail dur et long. C'est probablement en partie vrai. Deux de nos employés ont remporté des billets pour la conférence Apple la plus recherchée lors d'une loterie aléatoire et se sont rendus cet été à San Jose.

Sans cet événement, le rêve de discuter des nouvelles fonctionnalités d'Apple avec les pros, de connaître les meilleurs développeurs iOS du monde et de parler publiquement sur iThink # 3 serait resté dans les rêves.

Tout développeur iOS souhaite participer à la conférence WWDC. Bien sûr, vous pouvez dire: "Il y a une diffusion en ligne, n'est-ce pas vraiment suffisant?" Oui, il y en a, mais nous voulons noter que lors du tirage au sort des billets pour l'événement, la compétition se déroule simplement! Et ce n'est clairement pas sans raison.

Malheureusement, les téléspectateurs des émissions en ligne ne voient pas plus de 25 à 30% de l'ensemble de l'événement et, surtout, ils ne participent pas aux master classes et aux sessions. Malheureusement, ces événements très intéressants restent dans les coulisses de la diffusion en ligne et ne sont disponibles que pour ceux qui ont personnellement assisté à la conférence.

Juste pour être présents à cette partie fermée, des développeurs du monde entier participent au tirage au sort et ne dorment pas la nuit, en attendant le résultat. C'est ici qu'ils sont informés des mises à jour importantes et des changements dans l'écriture de code, ils sont initiés aux outils qui seront utilisés à l'avenir.

Ce n'est qu'en visitant l'événement en personne que vous pourrez apprécier sa valeur. Sans exagérer, on peut dire que la WWDC 2019 est l'événement le plus important des 5 dernières années.

C'est là-dessus que les visiteurs ont été informés qu'Apple avait complètement changé la technologie d'écriture de code développée au fil des ans et familière à nous tous, la simplifiant grandement. Et cela obligera de nombreux développeurs à repenser sérieusement leurs méthodes de travail, en jetant un nouveau regard sur de nombreuses choses familières.

Nous voulons vous parler des tâches réelles avec lesquelles la communauté mondiale des développeurs iOS sera en contact très prochainement. Plus précisément, nous examinerons les cas d'utilisation et les capacités des instruments personnalisés et des symboles SF et donnerons des exemples de notre travail avec de nouveaux outils à la WWDC 2019.

Instruments personnalisés


Cette "puce" propriétaire pour les développeurs a été montrée par Apple l'année dernière. Mais les détails à son sujet ne sont connus que maintenant. Lors des sessions de la WWDC 2019, les experts Apple ont expliqué en détail aux invités comment les outils personnalisés fonctionnent, ce que le développeur en tire et, surtout, comment les appliquer efficacement dans la pratique.

Le traceur os_signpost introduit l'année dernière est le traceur principal de cette boîte à outils. Ses tâches principales incluent la création d'événements et d'intervalles simples.

Apple a également présenté aux développeurs le traceur os_signpost à faible coût. Selon les intervenants, il peut désormais être facilement intégré même dans les versions finales. Mais les programmeurs Apple recommandent une utilisation prudente de cet outil, contrôlant le nombre d'arguments pendant la trace, sans en abuser.

L'architecture de la boîte à outils est structurée comme suit:

  • Flux de données Vous pouvez résoudre le problème d'obtention d'un flux de données à l'aide du traceur os_signpost, qui traduit les données dans une table d'entrée. La structure des tables d'entrée et de sortie est décrite dans un fichier XML spécialement créé. Et le processus de lecture et d'écriture des données dans la table est une trace étape par étape.
  • Modélisateur Il traite et analyse les données de la table d'entrée. Modeller lui-même, écrit dans un langage CLIPS spécial, comporte deux parties - déclarative et impérative. C'est précisément son caractère unique! Il traite les nouveaux événements et convertit les données. À l'aide de Modeller, vous pouvez effectuer un calcul personnalisé ou une conversion de données dans le format dont vous avez besoin pour le développeur. À la fin de la conversion, les nouvelles valeurs seront enregistrées dans le tableau de sortie. Ce processus est appelé «modélisation».
  • Les instruments Avec leur aide, les informations enregistrées dans le tableau sont lues pour être affichées à l'écran. Vous pouvez contrôler le format d'affichage à l'aide d'un formulaire XML. Certes, il doit être créé pour cela.
  • Utility StandartUI. Responsable de la lecture et de la visualisation des informations du tableau de sortie.


CloudKit + CoreData


Il s'agit de l'une des dernières «puces» de marque. Il est chargé de synchroniser Core Data et le Cloud Kit en mode automatique. Pour l'activer, il faut marquer les positions nécessaires avant le projet:



Veuillez noter que les notifications, ainsi que CLoudKit dans Capabilities ne s'activeront pas automatiquement. Cela devra être fait manuellement.



C'est là que votre travail se termine; Xcode fera le reste automatiquement. Il créera lui-même un conteneur d'agrégation de travaux basé sur la base de données et CloudKit.

Séparément, nous notons que cette nouvelle fonctionnalité très utile fonctionnera correctement dans les projets lancés précédemment. Tout ce que le développeur doit faire est de créer un nouveau conteneur au lieu de celui existant. Comme vous pouvez le voir, le processus de synchronisation dans les anciens projets est devenu beaucoup plus facile.

Symboles SF


Ce sujet à la WWDC 2019 a suscité le plus grand nombre de questions, ce qui n'est pas surprenant, car les conférenciers ont «marché» littéralement au galop. C'était un résumé tellement accéléré et concis qui a semé la confusion parmi les invités à la conférence.

De nombreux visiteurs ont sérieusement réfléchi à la question: «Pourquoi Apple a-t-il montré et présenté de nouveaux personnages? En effet, depuis de nombreuses années maintenant, les développeurs utilisent largement les images familières .png / .jpg / .pdf. » Oui, cette méthode présente certains inconvénients, mais elle est tellement familière et familière aux développeurs d'interface utilisateur qu'une bonne raison est nécessaire pour l'abandonner.

Mais même dans cet esprit, ne sous-estimez pas l'importance des nouvelles icônes fournies par Apple pour créer une interface utilisateur conviviale. Après avoir choisi des icônes sans succès, vous risquez que l'application perde son caractère natif, devienne incommode et incompréhensible pour l'utilisateur, ce qui réduira inévitablement sa popularité.

Il est très important pour le développeur de comprendre et d'évaluer correctement la fonctionnalité des icônes dans l'application, leur apparence et leur impact sur la convivialité de l'utilisateur.

Pour faciliter la compréhension de la fonction des icônes, nous les avons regroupées en trois catégories:

  • séparation du contexte;

  • consolidation du contexte;


  • correspondance du contexte visuel.


Grâce à cette séparation, nous avons réalisé que SF Symbols a été spécialement créé pour aider à la sélection optimale des icônes. Notez qu'Apple a même développé une application distincte pour ce https://developer.apple.com/design/human-interface-guidelines/sf-symbols/overview/ , dans laquelle vous pouvez découvrir en détail environ 1 500 nouveaux personnages. Pour la commodité du développeur, l'application dispose d'une recherche et de paramètres personnalisables. En les utilisant, vous pouvez évaluer l'apparence des icônes lorsque vous modifiez leurs valeurs.

Eh bien, si parmi les 1500 caractères vous ne trouvez pas l'icône souhaitée, vous pouvez toujours dessiner la vôtre. Comment faire cela, nous l'avons décrit dans notre guide .

Veuillez noter que dans l'application, vous créez une image vectorielle de l'icône, qui comprend des métadonnées de texte. Peut-être que quelqu'un travaillant avec des graphiques vectoriels sera inhabituel. Ce n'est pas par hasard que la WWDC a consacré une session distincte au processus de création de nouveaux personnages. Cela a clairement montré que les anciennes icônes éprouvées sont désespérément dépassées et ont perdu leur efficacité. Et aujourd'hui, la tendance la plus pertinente dans le développement iOS est de considérer les symboles comme UIFont.

En pratique, ceci est le suivant. Rien n'est nécessaire pour utiliser les icônes dans vos projets, car elles sont intégrées dans la police système de San Francisco. Pour créer un personnage, de nouveaux initialiseurs UIImage sont requis:



Le code montre que l'un des initialiseurs a reçu un nouveau paramètre, UIImage.Configuration . Vous pouvez lui transmettre la valeur du paramètre UIImage.SymbolConfiguration , qui est le descendant de UIImage.Configuration . Notez que les configurations sont immuables et que vous ne pouvez appliquer de nouveaux paramètres que lorsque vous applying(:) (https://developer.apple.com/documentation/uikit/uiimage/configuration/3294236-applying).

En utilisant la configuration, vous pouvez modifier:

  • PointSize
  • UIImage.SymbolScale;
  • UIFont.TextStyle;
  • UIImage.SymbolWeight;
  • UIFont.

Nous vous en dirons plus sur chaque article.

Taille du point

Ce paramètre est responsable de la taille des caractères et montre également que le caractère n'est plus une image PNG ordinaire. Point size (CGFloat) != CGSize vous également que désormais Point size (CGFloat) != CGSize . Par conséquent, considérez maintenant les symboles SF uniquement avec la valeur de taille en points. Cette relation est clairement visible lors du partage de caractères et de texte.





UIImage.SymbolWeight

Si vous devez modifier l'épaisseur ou la gras des caractères, comme dans UIFont, utilisez pour cela le paramètre UIImage.SymbolWeight .



SymbolConfiguration.init (police: UIFont)

Travailler avec cette option est très simple. Avec lui, il vous suffit de sélectionner l'UIFont souhaité, puis le système fera tout sur le "pilote automatique".



UIImage.SymbolScale

À notre avis, c'est l'un des paramètres les plus controversés. La première fonction qu'il exécute est le redimensionnement d'un personnage. Et ici, le plaisir commence. Le fait est que nous avons maintenant deux paramètres actifs entiers qui affectent cela. Mais ne soyez pas nerveux!

Par expérience pratique, nous pouvons dire que ces paramètres ne sont pas seulement faciles à «s'entendre», mais se complètent parfaitement. Nous avons spécialement simulé la situation et défini la taille du point identique à notre UIFont en direct. Et ils ont vu que la taille du symbole à l'écran diffère visuellement de la taille du texte (il reste plus ou moins grand). Pour faciliter le travail et non pour créer une autre configuration à l'aide de la nouvelle valeur de taille en points, nous vous recommandons d'utiliser le paramètre SymbolScale . Il redimensionnera l'image sans changer sa taille en points.



UIFont.TextStyle

Il s'agit de l'option la plus simple à utiliser. Les développeurs Apple recommandent de l'utiliser lorsque vous devez implémenter un type de police dynamique.

D'après notre histoire, il est clair que la plupart des mises à jour présentées visent à inciter les développeurs d'applications à repenser les anciennes méthodes de travail. Bien qu'il nous semble que ce n'est qu'une petite partie de ce que vous pourriez rencontrer dans un avenir proche. Eh bien, pour que les innovations ne vous prennent pas par surprise, nous vous recommandons de commencer leur développement dans un avenir proche!

Source: https://habr.com/ru/post/fr470736/


All Articles