Quoi de neuf pour les développeurs dans iOS 12 et Xcode 10?

Ce que vous allez créer

Au milieu de toute la fanfare d’une autre WWDC, Apple nous a présenté iOS 12. C’est l’une des versions les plus ciblées, tant pour les consommateurs que pour les développeurs, qui met l’accent sur l’optimisation des performances. Outre cet accent mis sur la performance et l'optimisation, iOS apporte également quelques itérations de fonctionnalités sur de nombreuses bibliothèques que nous connaissons et aimons. Cela inclut l'évolution des emojis (avec mémojis), des raccourcis vers Siri, de la réalité augmentée et de l'apprentissage automatique.. 

Pour les développeurs, Apple s’est attaché à fournir à sa communauté une multitude de nouveaux outils et de kits de développement logiciel (SDK) afin d’alimenter la prochaine génération d’applications iOS. Les développeurs bénéficient également de nombreuses améliorations de Xcode et les derniers frameworks d’Apple, ARKit, Core ML et SiriKit, ont fait l’objet de nombreuses améliorations..

L'apprentissage automatique a évolué rapidement depuis son introduction en 2017, le Core ML 2 facilitant la conception, la formation et le test de modèles pour les développeurs grand public. ARKit 2, la deuxième version d'Apple de sa bibliothèque de réalité augmentée, est une autre bibliothèque qui s'est nettement améliorée cette année grâce à trois nouvelles fonctionnalités bien connues: 

  • expériences partagées permettant des expériences de RA multijoueurs
  • expériences persistantes qui permettent la sauvegarde et la restauration des états
  • Détection d'objet 3D en plus du suivi des images en mouvement 2D. 

Apple a également amélioré les notifications en ajoutant la possibilité de grouper et de hiérarchiser les notifications de manière contextuelle, et a créé le nouveau cadre de saisie automatique du mot de passe pour l'intégration d'applications de gestion de mots de passe tiers.. 

Siri Shortcuts est l'addition d'Apple à SiriKit, permettant aux développeurs tiers d'intégrer des raccourcis intelligents personnalisés dans la recherche Spotlight et l'écran de verrouillage, ainsi que d'utiliser leur voix pour appeler et réaliser cette action personnalisée.. 

Xcode 10 introduit également une toute nouvelle gamme d’améliorations, du mode sombre au édition multi-curseur, nouveaux visuels de contrôle de source dans l'éditeur de code source et un système de construction entièrement nouveau. Xcode 10 prend également en charge les tests en parallèle, ce qui réduit considérablement le temps nécessaire pour effectuer les tests..

Objectifs de cet article 

Dans cet article, vous apprendrez tout sur les nouvelles modifications apportées à iOS 12 pour les développeurs. Nous couvrirons les points suivants:

  • Apprentissage automatique avec Core ML 2 et le langage naturel
  • réalité augmentée avec ARKit 2
  • notifications interactives
  • Siri raccourci avec SiriKit
  • Services d'authentification et saisie automatique des mots de passe
  • Xcode 10
  • autres changements

Apprentissage machine

L'apprentissage automatique, introduit dans iOS 11, n'a pas seulement évolué cette année, mais a fait d'énormes progrès pour intégrer le plus souvent l'apprentissage automatique. La prochaine version de Core ML, version 2, conforme au thème des performances et de la vitesse, est désormais 30% plus rapide, les tailles de modèles d'intelligence artificielle pouvant être réduites jusqu'à 75%. Plus important encore, Apple a considérablement simplifié les bibliothèques et les outils pour faciliter l’adoption par tout le monde, sans connaissances préalables en mathématiques ou en apprentissage automatique.. 

Core ML a montré beaucoup de potentiel lors de son introduction, mais il n'a pas été adopté par la communauté plus large des développeurs iOS. Cependant, avec l'introduction de Create ML cette année (un framework macOS), tout le monde peut créer des modèles Core ML à utiliser dans ses applications avec une plus grande facilité. Ce nouveau cadre s’intègre aux terrains de jeu du nouveau Xcode pour vous permettre d’interagir visuellement avec vos flux de travail de création de modèles en temps réel, en ajoutant simplement quelques lignes de code Swift.. 

En plus de prendre en charge un apprentissage en profondeur approfondi avec plus de 30 types de couches, il prend également en charge les modèles standard tels que les ensembles d'arbres, les SVM et les modèles linéaires généralisés…. S'appuyant sur des technologies de bas niveau telles que Metal et Accelerate, Core ML tire pleinement parti du processeur et du processeur graphique pour offrir des performances et une efficacité maximales. (WWDC)

De nombreux produits Apple tirent déjà parti du Core ML 2, notamment Siri et Camera, par le biais de sa vision par ordinateur et du tout nouveau cadre de langage naturel. Le framework de langage naturel, nouveau pour iOS 12, prend en charge l'analyse du texte en langage naturel pour déduire des métadonnées spécifiques. Il est utilisé avec Create ML pour la formation et le déploiement de modèles de traitement de langage naturel personnalisés. Pour plus d'informations sur la création et l'exécution de modèles Core ML, consultez les deux documents de référence Apple suivants: 

  • En savoir plus sur la création de modèles ML de base
  • En savoir plus sur l'exécution de modèles de base ML

ARKit 2

ARKit, également annoncé pour la première fois l’année dernière, a pris de l’importance sur la scène de la WWDC de cette année. ARKit 2 captive immédiatement l’imagination des consommateurs et des ingénieurs grâce à trois nouvelles fonctionnalités remarquables:

  • expériences d'AR partagées
  • expériences d'AR persistantes 
  • Capacités de détection d'objets 3D

Démonstration en direct sur scène lors du discours de la WWDC cette année, les expériences de RA partagées vous permettent d’incorporer plusieurs utilisations simultanément dans l’expérience de réalité augmentée. En d'autres termes, vous pouvez désormais créer rapidement des expériences de réalité augmentée multijoueurs dans lesquelles vous pouvez non seulement faire jouer plusieurs utilisateurs, mais même des tierces personnes observant les mêmes expériences.. 

Les expériences AR persistantes permettent aux développeurs d'implémenter des fonctionnalités permettant de sauvegarder des sessions dans un état donné, afin de les reprendre ultérieurement. Autrement dit, si vous construisez une sculpture lego virtuelle, vous pouvez enregistrer et reprendre l'état, et les objets virtuels persisteraient dans le même espace et dans le même temps sans qu'il soit nécessaire de tout recommencer.. 

Enfin, les fonctionnalités de détection et de suivi d'objets 3D ont été améliorées depuis ARKit 1.5, avec la possibilité désormais de suivre entièrement les images 2D, y compris les objets mobiles tels que les cartes postales, les journaux ou les magazines. Vous pouvez, par exemple, conserver une carte postale d’un lieu et la déplacer pendant qu’ARKit suit et reconnaît votre objet en permanence. ARKit 2 vous permet également de détecter des objets 3D connus tels que des téléviseurs, des meubles ou des sculptures.. 

Notifications de groupe

Les notifications ont été considérablement améliorées dans iOS 12, avec la possibilité de hiérarchiser et de grouper les messages, une fonctionnalité que les utilisateurs et les développeurs anticipaient depuis longtemps.. 

La possibilité de grouper les notifications de manière contextuelle offre aux utilisateurs finaux une expérience utilisateur plus concise, disponible depuis de nombreuses années pour les utilisateurs d'Android. Les utilisateurs peuvent, par exemple, utiliser les groupements de notifications pour qu'un fil de conversation dans une application ou des notifications de jeu fassent partie d'un même groupe de groupe plutôt que des notifications individuelles occupant tout l'écran. Avec un seul balayage, les utilisateurs peuvent plutôt ignorer un groupe de notifications contextuelles..

Les notifications sont également classées par ordre de priorité, de sorte que les notifications essentielles telles que les messages, les courriers électroniques ou les notifications de calendrier apparaissent au-dessus des notifications de médias sociaux. Les développeurs tiers peuvent également classer une notification en tant qu'alerte avec hiérarchisation, avec l'approbation de l'équipe de révision Apple..

SiriKit & Intents

SiriKit a également reçu une certaine attention cette WWDC avec l’ajout de Siri Shortcuts. Cette fonctionnalité suggère intelligemment les raccourcis au moment opportun, en associant et en prédisant les routines et les comportements des utilisateurs. Grâce à la nouvelle API de raccourcis, les utilisateurs peuvent effectuer rapidement et facilement des tâches sur l'écran de verrouillage ou l'écran de recherche à l'aide de ces raccourcis visuellement ou via des raccourcis vocaux Siri, ainsi que pour créer leurs propres raccourcis.. 

Un exemple serait que la notification d’un magasin de café apparaisse sur l’écran de verrouillage en raison du comportement de l’utilisateur consistant à marcher dehors le matin et à commander une boisson au mojito à la menthe. Au-delà de la suggestion visuelle, l'utilisateur pourrait également utiliser Siri et dire «Commander ma boisson à base de café préférée de Philz» ou créer un raccourci personnalisé qui déclenche cette action.. 

Services d'authentification

Apple a introduit une toute nouvelle bibliothèque AuthenticationServices qui intègre des gestionnaires de mots de passe tels que LastPass ou 1Password avec le remplissage automatique du mot de passe du système d'exploitation. Auparavant, les utilisateurs n'avaient accès qu'aux informations d'identification stockées dans le trousseau iCloud et l'accès aux mots de passe tiers stockés dans des applications telles que 1Password impliquait que les utilisateurs devaient basculer entre les deux applications pour obtenir les informations de nom d'utilisateur et de mot de passe..

Dans la barre QuickType, les utilisateurs peuvent accéder à leurs informations d'identification à partir des applications tierces de gestion de mots de passe. Les développeurs ont également la capacité, grâce à la mise en œuvre du nouveau ASWebAuthenticationSession classe, pour partager les informations de connexion entre une session active dans Safari et votre application. Cela fonctionne comme une sorte de transfert de mot de passe. 

Xcode 10

Apple a également renforcé les capacités des développeurs au-delà des nouveaux kits de développement logiciel (SDK) et des infrastructures, avec des améliorations notables apportées à Xcode et à la chaîne d’outils de construction Xcode. L’éditeur de sources, par exemple, a apporté d’importantes améliorations en matière de refactoring, notamment l’édition de plusieurs curseurs, de sorte que vous pouvez rapidement éditer plusieurs lignes de code (c.-à-d. Différentes méthodes) en même temps..

Xcode 9 a tout d’abord introduit l’intégration à GitHub, depuis la création et l’ouverture du dépôt GitHub depuis l’EDI jusqu’à l’interaction avec le code de manière plus collaborative. Xcode 10 s'étend au-delà de GitHub pour fonctionner avec deux autres fournisseurs de référentiels populaires, GitLab et Bitbucket.. 

Du côté de l’éditeur source, les modifications apportées au référentiel local ou en amont sont maintenant mises en surbrillance dans la colonne de gauche, ce qui vous permet de voir rapidement les modifications apportées à votre code ainsi que les modifications non encore effectuées, les modifications apportées en amont par d’autres et les conflits éventuels à traiter avant de commettre. Enfin, Xcode 10 génère des clés SSH pour vous si nécessaire et les télécharge dans votre référentiel de contrôle de source.. 

En passant à la panoplie d'outils, Xcode 10 introduit un tout nouveau système de construction pour les développeurs et, conformément au thème de la conférence, il améliore les performances et la vitesse. Par exemple, les développeurs testant leurs applications dans Simulator peuvent désormais tirer parti de la parallélisation des tests, ce qui leur permet d'exécuter plusieurs tests simultanément.. 

En plus des tests unitaires, les développeurs peuvent désormais exécuter des tests d'intégration continus sur de nombreux types de périphériques simulés, générant des clones d'un seul périphérique simulé, ce qui aboutit à des tests qui prennent une fraction du temps nécessaire à Xcode 9. Les développeurs peuvent choisir de tirer parti du processeur de leur Mac pour effectuer les tests en parallèle ou allouer un autre Mac au réseau hébergeant le serveur Xcode pour automatiser la construction et les tests en parallèle.. 

Apple est maintenant obsolète impression() déclarations en faveur de la nouvelle OSLog les panneaux indicateurs, qui permettent une vitesse de débogage bien supérieure à celle de impression(). Les développeurs peuvent également implémenter des instruments personnalisés pour marquer des points significatifs dans le code, qui sont ensuite suivis via des panneaux de signalisation au sein des instruments, qui apparaissent à côté d'autres événements d'analyse (tels que l'UC, la mémoire ou le réseau), ce qui leur donne encore plus d'informations pour résoudre leurs problèmes. 

Xcode 10 inclut également des modèles personnalisés pour aider les développeurs à créer leurs propres instruments avec une visualisation et une analyse de données personnalisées, qui peuvent être réutilisées et partagées avec d'autres membres de l'équipe ou publiées avec vos frameworks. Certaines modifications mineures ont été apportées aux icônes, notamment le déplacement du contenu de la bibliothèque dans une nouvelle fenêtre de superposition au lieu du bas de l'inspecteur. Il y a également d'autres modifications mineures apportées aux icônes et à la présentation d'Interface Builder..

Autres changements

iTunes Connect a été renommé correctement App Store Connect, avec quelques améliorations pour rendre l'interface utilisateur plus efficace et conviviale. Grâce à la nouvelle interface Web, les développeurs peuvent créer des pages de produits avec des captures d’écran et des aperçus, basculer vers des achats intégrés, et configurer des abonnements, des pré-commandes et des prix de lancement..

Enfin, TestFlight a fait l’objet d’une importante amélioration avec une nouvelle fonctionnalité appelée TestFlight Public Link, qui simplifie considérablement le processus d’invitation de personnes à tester votre application. Là où auparavant le développeur devait inviter manuellement les utilisateurs à utiliser leurs adresses électroniques selon un processus fastidieux, ils peuvent désormais créer une "invitation ouverte" via une URL publique.. 

Conclusion

iOS 12 est une version très ciblée à la fois pour les consommateurs et les développeurs, qui met l’accent sur l’optimisation des performances. Pour les développeurs, Xcode et les outils de construction et de test ont été optimisés avec un accent mis sur la vitesse, et les derniers frameworks d'Apple tels que ARKit, Core ML et SiriKit ont fait l'objet de nombreuses améliorations.. 

En l'espace de deux ans, nous commençons à voir évoluer et mûrir l'incursion d'Apple dans l'apprentissage automatique. Les avantages se retrouvent dans leurs autres cadres technologiques, tels que SiriKit, ARKit et Photos, permettant aux développeurs de créer des expériences utilisateur plus intelligentes. Plus important encore, l’apprentissage par la machine est passé d’une bibliothèque de niche à une bibliothèque dans laquelle tout développeur, quelle que soit son expérience, peut former et mettre en œuvre des modèles.. 

Comme WWDC servira de prélude aux annonces matérielles d’Apple en septembre, il sera intéressant de voir comment la communauté des développeurs adopte ARKit dans sa deuxième itération, dans l’espace du jeu multijoueur..