Ce site utilise des cookies et différents services d'analyse de trafic. Nous partageons également certaines informations sur son utilisation avec nos partenaires des réseaux sociaux.

Si les cookies techniques sont nécéssaires au fonctionnement du site, les autres nécessitent une autorisation de votre part.

05 juin 2019

Que retenir de l'Apple WWDC 2019 ? Niji vous débrief

Ce contenu propose un debrief cadré et rédigé par Addel Aloui, Expert iOS, chez Niji.

 

Niji debriefe la WWDC 2019 d’Apple :

  • Les annonces sur #iOS13 avec les nouvelles fonctionnalités #DarkMode, #Signin, #SSO
  • #iPadOS : L’intérêt de ce nouvel OS ? l’Impact sur les applications compatibles iOS ?
  • #SwiftUI : Les nouveaux outils graphiques de développement

Et toutes les nouvelles et/ complétions d’APIs : #RealityKit, #ARKit, #VisionKit

 

La Conférence WWDC 2019, grande messe des développeurs iOS, macOS et autres systèmes d’exploitation, est en cours. C’est à cette occasion qu‘Apple révèle des nouveautés, des améliorations ainsi que des éléments amenés à disparaitre.

C'est le moment fort de l'année où Apple peut parler aux développeurs concernant leurs outils de travail, mettant toujours un point d'honneur à tenter d'attirer des développeurs à utiliser leur environnement et kit de développement.

C’est aussi l’occasion pour les développeurs de rencontrer en personne les ingénieurs d’Apple afin de parler avec eux des fonctionnalités introduites dans ces nouvelles versions des différents OS mais également pour parler des problèmes rencontrés sur les versions déjà existantes.

Nous allons faire le point sur les nouveautés les plus marquantes concernant le développement d'applications, sachant que les principales nouveautés et mises à jour des systèmes d'exploitation pour un développeur, ne se cantonnent pas uniquement à ce qu'elles apportent mais aussi à ce qu'elles retirent.
 

 

Cette année, Apple a pu nous présenter énormément de nouveautés contrairement à l'année précédente (WWDC 2018) qui avait été assez pauvre, se focalisant plus sur l'optimisation de son OS mobile.

iOS 13 est désormais le système d'exploitation de l'iPhone et iPod Touch. L'iPad obtient son propre système d'exploitation.

Nous allons nous focaliser sur les principales nouveautés qui vont impacter plus ou moins les développements de projet d'application mobile iOS.

La première est le mode sombre (Dark mode) : Les rumeurs étaient plus que persistantes à ce sujet, de plus, un code couleur vestimentaire des principaux protagonistes de cette conférence sur des tons plutôt sombre laissait présager une introduction à cette fameuse fonctionnalité. Déjà proposée sur macOS Mojave, c'est au tour de l'iPhone d'en bénéficier.

À l'heure actuelle on ne peut que supposer son implémentation et ses effets de bord, Apple devrait communiquer plus en détail lors des ateliers de la WWDC.
On peut donc supposer que l'implémentation sera assez similaire que sur le kit de développement macOS. De facto, nous pourrons utiliser des “Xcode Assets Catalog” pour les couleurs et images afin de renseigner des déclinaisons pour le mode normal et sombre. Il y a fort à parier qu'Apple encouragera fortement les développeurs à implémenter le mode sombre comme il avait pu le faire pour les terminaux à encoches (série X). Une obligation de comptabilité risque fortement d’apparaître après une mise à jour des conditions générales d’utilisation de l'App store.
 

 

La seconde nouveauté risquant d'impacter les développements est bien évidemment, le système d'authentification unique Apple (SSO), ce système permet à un utilisateur d'accéder à de nombreuses applications sans avoir à multiplier les identifications. C'est une belle surprise car encore une fois, Apple enfonce le clou sur la sécurité des données et le respect de la vie privée de ses utilisateurs. Le système permettra de créer des mails temporaires et révocables pour ne pas communiquer son adresse personnelle. La connexion avec Apple sera disponible pour les tests en beta dès cette été. Selon le règlement de l'AppStore mis à jour le premier jour de la WWDC 2019, il sera obligatoire de proposer le nouveau système d'authentification d'Apple parmi les options de connexion si un autre système d'authentification tiers est disponible sur l'application.

Une autre mise à jour a été effectuée afin d'améliorer la confidentialité de la localisation WiFi et Bluetooth. En effet, ces changements et les nouveaux contrôles aideront à empêcher les applications d'accéder à votre emplacement sans votre consentement via WiFi et Bluetooth. De fait, toutes applications qui abuseraient du suivi de localisation en utilisant le WiFi ou le Bluetooth se verra rejetée de l'AppStore.

 

iPadOS

 

L'iPad s'émancipe d'iOS en devenant iPadOS 13. Au programme toutes les nouveautés iOS 13 bien sûr, et bien plus encore. iPadOS 13 est une évolution de iOS 13 avec quelques fonctions en plus, pour correspondre aux spécificités des iPads, notamment :

  • la gestion du pencil (et le nouveau framework PencilKit)
  • la gestion des supports de stockage externes,
  • ou encore le Springboard qui permet d'afficher des widgets.

Etant basé sur iOS, iPadOS devrait avoir un comportement similaire à ce que l'on connait actuellement sur iPad, notamment pour les applications mobiles. Quelques adaptations seront sans doute à prévoir.
 


SwiftUI

 

 

La nouveauté présentée lors de cette WWDC qui pourrait éventuellement intéresser le plus les développeurs est peut-être la bibliothèque SwiftUI, il s'agit d'une structure de codage d'interface utilisateur qui se veut moderne, construite pour tirer parti de Swift. En effet, elle apporte un ensemble d’outils et d’API pour la conception d’interface utilisateur pour n’importe quel appareil Apple. Elle va donc permettre de réduire considérablement le nombre de lignes de code requises. A première vue, il ressemble fortement au Framework de Google destiné à développer des applications multiplateformes pour Android et iOS avec des fonctionnalités similaires très intéressantes pour le développeur comme le ”hot reload”, un mécanisme permettant de maintenir le code et le design parfaitement en synchronisation et cela sans avoir à recompiler le projet permettant un gain de temps considérable.

SwiftUI supporte par défaut de nombreuses fonctionnalités comme les transitions animées, la prise en charge du mode sombre et les outils d'accessibilité en autres. Au regard des similitudes avec des frameworks permettant de concevoir des applications multiplateformes, nous pouvons imaginer sur le fait qu'un jour, SwiftUI permettra aussi la conception d'application multiplateforme. Avec la phrase favorite d'Apple pour attirer un maximum de développeurs sur son environnement, "everyone can code", cela est rendu réel avec ce nouveau framework dont la facilité d'utilisation au premier regard est déconcertante.


La grande question qui vient à se poser, c’est le choix entre l'utilisation de UIKit ou SwiftUI.
SwiftUI n'étant supporté qu'à partir d'un iOS 13, UIKit remporte le match mais dans quelques années, la question aura une véritable pertinence pour des problématiques de production.
Le développement d’applications watchOS pourrait se faire à vitesse grand V.


Les autres ...

Enfin, d'autres outils et API ont fait leur apparition avec cette mise à jour comme RealityKit, fonctionnant de pair avec ARKit. Ce dernier permet le développement d'applications de réalité augmentée. RealityKit ajoute de nombreuses fonctionnalités permettant d'améliorer les expériences de réalité augmentée de façon fascinante sur vos applications.

Combine est une librairie permettant de personnaliser le traitement des événements asynchrone en combinant des opérateurs de traitement des événements. Cela ressemble fortement à la programmation réactive. Avec cette nouvelle librairie, nous pouvons déceler une tentative (ou pas) de la part d'Apple d'embarquer en version native la programmation réactive permettant au développeur de s'abstraire de la bibliothèque RxSwift. Cependant, à l'heure actuelle, Combine, reste très léger comparer à ce qu'apporte RxSwift.

Il reste encore une pléthore de nouvelles bibliothèques apportée avec cette mise à jour comme la bibliothèque VisionKit, qui permet aux applications embarquant un scanner de documents de s'abstraire de librairie tierce et ainsi supprimer une dépendance externe forte, tout en utilisant les mêmes mécanismes présents dans le scanner de documents de l'application native Notes.

 

Les fonctionnalités obsolètes

Nous avons longuement évoqué les nouveautés, je vous propose maintenant un aperçu des suppressions impactant potentiellement vos différents projets.

La clé du fichier .plist “UIApplicationExitsOnSuspend”, valeur booléenne indiquant si l'application se termine plutôt que de passer à l'arrière-plan lorsqu’elle se ferme n'est plus prise en charge dans iOS 13 et iPadOS 13.

Le framework OpenAL est obsolète mais reste présent à des fins de compatibilité. Utilisez “AVAudioEngine” pour les fonctionnalités de son spatial. De plus, “AUGraph” est rendu obsolète au profit de AVAudioEngine.

D’autres suppressions concernant l’audio ou encore les appels réseaux sont prévues pour la dernière version d’iOS / macOS.

 

Mise à jour des guidelines

Les applications doivent obtenir le consentement pour la collecte de données, même si les données sont considérées anonymes au moment de la collecte ou immédiatement après. De même les applications qui compilent des informations provenant de sources autres que directement de l'utilisateur ou sans son consentement explicite, même provenant de bases de données publiques, ne sont pas autorisées sur l'App Store.

D’autres règles ont été mises à jour principalement liées à la sécurité des données et le respect de la vie privée.

Pour conclure, cette WWDC nous a apporté beaucoup de nouveautés, aussi bien hardware que software. Les versions bêta de macOS Catalina, iOS 13, iPadOS 13, tvOS 13, et watchOS 6 sont disponibles dès aujourd’hui. Les betas publiques seront disponibles dans le courant du mois de juillet. Les versions finales seront publiées, comme toujours, au début de l’automne.

 

Contact Relations Presse
Frédéric PAYEN
Directeur Marketing et Communication
presse@niji.fr