#WWDC : les attentes des développeurs (et on ne parle pas de la file !)
Par Didier Pulicani - Publié le
Billet rédigé par Jean-François Grang, fondateur de 2 App à Z, correspondant à la WWDC pour Mac4Ever.
Si les nouveautés grand public de la Keynote sont parfois dévoilées avant l’évènement, celles pour les développeurs restent souvent secrètes. C’est ainsi qu’en 2014, Apple avait annoncé
Ces annonces sont, pour la plupart, faites l’après-midi suivant la Keynote lors d’une conférence nommée
Pour cette édition 2018 (car nous rédigeons cet article presque chaque année), on retrouve parmi les participants un joli panachage de startups, grandes entreprises, agences et indépendants avec la team iOS de Veepee by vente-privee représentée par Aurélien et Paul-Emmanuel, celle d’Orange par Olivier Ho-A-Chuck, Léo Vallet un étudiant ayant remporté son badge via le programme Swholarship d’Apple et moi même Jean-François Grang représentant le studio de développement 2 App à Z.
Avant de parler des nouveautés, certains aimeraient déjà qu’Apple honore les annonces du passé, et notamment dans l'hexagone.
Si le Home Pod présenté il y a un an lors de l’édition 2017 de la WWDC a ENFIN une date de sortie en France, certaines choses sont toujours dans les tuyaux comme l’envoi d’argent avec Apple Pay ou le déploiement de Business Chat ou encore la recherche sponsorisée dans l'App Store.
On espère que le passé sera vite soldé et que les annonces de cette année seront disponibles un peu partout.
Pour Léo Vallet, il est temps pour Apple d’améliorer en profondeur son simulateur dont certains aspects n’ont pas bougés depuis iOS 2.
En 2017 Apple a enfin permis d’en lancer plusieurs en parallèle pour tester son code sur différentes configurations mais pour Léo, il manque encore de certaines fonctionnalités et souffre de certains bugs impactant sa stabilité.
L’intégration continue permet de prendre le code publié par un développeur et de le compiler sur une autre machine. Ce mécanisme, selon les équipes, peut servir différents objectifs comme tester que le code compile bien, lancer des tests, générer des versions sur différents environnements ou même générer des screenshots de l’app. De nombreuses solutions existent comme Jenkins et Apple a même lancé Xcode Bots en 2016 qui permet de lancer son code sur une autre machine dans son réseau mais dont son usage dans la communauté reste encore trop anecdotique.
Chez 2 App à Z, nous travaillons pour des clients n’ayant pas tous déjà des Mac en local et nous aimerions qu’Apple lance sa solution dans le cloud permettant de construire ses projets, mesurer l’évolution du code, la qualité, … Cette solution permettrait de construire les apps dans différentes versions de macOS avec différentes versions de Xcode, sans devoir gérer les mises à jour de ces outils. Ce que font certains acteurs comme Bitrise
Le rachat de Buddy Build par Apple au tout début 2018 pourra peut-être faire émerger ce projet, espoir partagé par les équipes de Vente-privee, 2 App à Z.
L’application sur iPhone est indigne de son grand frère sur le Web. Elle ne gère par exemple pas l’iPhone X 🤔.
A minima, nous aimerions une application permettant d’ajouter des beta testeurs, de soumettre un binaire sur TestFlight et de répondre à la review team ce qui sont des actions pertinentes sur le mobile et que l’on doit pourtant faire sur le Web qui ne dispose pas de version responsive et dont l’usage sur mobile est presque impossible.
La cerise sur le gâteau serait d’intégrer l’analyse de apps.
Les animations de transitions ou de changement d’état sont monnaie courante mais quand il s’agit de faire des choses un peu plus complexes ou scénarisées, les solutions natives deviennent vite complexes en mise en oeuvre et difficile à mettre à jour.
Airbnb a ouvert sa solution
Chez 2 App à Z, nous adorerions avoir une solution graphique permettant d’animer des objets selon des scénarios, comme Flash en son temps.
La version 5 (déjà!) de Swift avec enfin une stabilisation de l'ABI. Toi lecteur grand public et non développeur, tu passeras peut-être rapidement ton chemin, et pourtant, ceci permettra de te faire économiser plus de 10 Mo à chacune de tes apps embarquant Swift.
La NFC a ouvert ses portes en lecture seule l’année dernière permettant à certaines application de lire des tags. Léo et Olivier aimeraient qu’Apple permette l’écriture et aille plus loin notamment en s’affranchissant de lancer l’application pour lire le tag et offrir ainsi une expérience fluide permettant de passer son téléphone pour ouvrir les portes du métro sans lancer l’application, idem avec sa chambre d’hôtel … une expérience similaire à Apple Pay mais disponible à tous les développeurs tiers.
Android dispose de nombreuses choses depuis plusieurs années et la sauce commence à prendre doucement dans nos transports en commun, le timing serait donc parfait.
Avec les années et les devices, la construction d’interfaces s’est largement compliquée. L’iPhone était d’abord venu avec son propre CocoaTouch, une version des composants graphiques inspirée par son grand frère du Mac mais largement épurée pour les besoins du petit écran de l’iPhone.
CocoaTouch possédait des composants similaires, comme un
Ensuite, l’iPad est arrivé avec quelques composants qui lui étaient propres comme le UIPopoverController, jamais porté sur iPhone (beaucoup l’ont re-développé d’ailleurs). Avec l’Apple Watch s’est produit le même phénomène que pour l’iPhone avec le Mac à savoir la naissance de nouvelles classes graphiques et ses propres composants préfixés par WK (et pas NS ou UI).
Enfin l’Apple TV est sortie en se reposant sur CocoaTouch de l’iPhone mais avec ses propres composants.
Il serait bon qu’Apple harmonise tout ça, un sentiment partagé par les Léo Vallet et 2 App à Z. On peut d’ailleurs penser que les visuels de l’événement annoncent un changement radical sur ce point.
UIKit fonctionne aujourd’hui exclusivement sur le
Si Apple proposé déjà de quoi développer des solutions AR ou VR, au niveau des interfaces, chacun doit ré-inventer son style. Alors qu’Oculus a commencé à dessiner les contours d’une guidelines et de patterns de navigation, on aimerait qu’Apple arrive avec ses préconisations et son UIKit avec des composants d’app de gestion (menus, boutons, tab bar, …) pour faire facilement de l’AR ou de la VR.
De nombreux développeurs aimerait qu'Apple permette aux apps de nouvelles interactions.
Chez Orange, on aimerait des APIs permettant à d’autres apps d’échanger ou afficher des contenus sans la lancer. Par exemple, reconnaitre un numéro de vol et afficher la carte avec les informations sur le vol avec le Custom Formatting. Une autre idée de l’opérateur français, toujours dans l’ouverture : ouvrir un peu plus iMessage pour permettre de faire du conversationnel.
Il y a beaucoup d'attentes quand aux
Evidemment, il est aussi question du HomePod et de son ouverture à d’autres apps.
Parce que nous ne sommes pas que dés développeurs, mais aussi des utilisateurs, certains choses nous manquent à nous, comme à vous
Un assistant qui sache faire les mêmes choses partout sur toutes les plateformes, par exemple, les rappels ou le calendrier sur Apple TV, le réveil sur iPad… Le Homepod qui accepte Spotify et un Car Play qui accepte Waze.
L’App Store permet de découvrir des bijoux pour le grand public. Un App Store orienté Business serait également bon pour valoriser les apps de productivité, les apps professionnelles dédiées, …
Une API à la Facebook Connect pour se connecter avec son ID Apple serait aussi une bonne chose pour les développeurs.
Il ne reste plus quel quelques heures d’attentes pour savoir si nos vœux seront exaucés.
Si les nouveautés grand public de la Keynote sont parfois dévoilées avant l’évènement, celles pour les développeurs restent souvent secrètes. C’est ainsi qu’en 2014, Apple avait annoncé
Swiftson nouveau langage de développement devant un parterre de développeurs médusés.
Ces annonces sont, pour la plupart, faites l’après-midi suivant la Keynote lors d’une conférence nommée
State Of The Union. Sans se prêter à un jeu de pronostiques impossibles, nous avons essayé de regrouper les doléances et espérances des développeurs. Nous verrons dans quelques heures qui aura été gâté par les annonces.
Pour cette édition 2018 (car nous rédigeons cet article presque chaque année), on retrouve parmi les participants un joli panachage de startups, grandes entreprises, agences et indépendants avec la team iOS de Veepee by vente-privee représentée par Aurélien et Paul-Emmanuel, celle d’Orange par Olivier Ho-A-Chuck, Léo Vallet un étudiant ayant remporté son badge via le programme Swholarship d’Apple et moi même Jean-François Grang représentant le studio de développement 2 App à Z.
Les promesses du passé
Avant de parler des nouveautés, certains aimeraient déjà qu’Apple honore les annonces du passé, et notamment dans l'hexagone.
Si le Home Pod présenté il y a un an lors de l’édition 2017 de la WWDC a ENFIN une date de sortie en France, certaines choses sont toujours dans les tuyaux comme l’envoi d’argent avec Apple Pay ou le déploiement de Business Chat ou encore la recherche sponsorisée dans l'App Store.
On espère que le passé sera vite soldé et que les annonces de cette année seront disponibles un peu partout.
Les outils de développement
Simulateur
Pour Léo Vallet, il est temps pour Apple d’améliorer en profondeur son simulateur dont certains aspects n’ont pas bougés depuis iOS 2.
En 2017 Apple a enfin permis d’en lancer plusieurs en parallèle pour tester son code sur différentes configurations mais pour Léo, il manque encore de certaines fonctionnalités et souffre de certains bugs impactant sa stabilité.
Intégration continue
L’intégration continue permet de prendre le code publié par un développeur et de le compiler sur une autre machine. Ce mécanisme, selon les équipes, peut servir différents objectifs comme tester que le code compile bien, lancer des tests, générer des versions sur différents environnements ou même générer des screenshots de l’app. De nombreuses solutions existent comme Jenkins et Apple a même lancé Xcode Bots en 2016 qui permet de lancer son code sur une autre machine dans son réseau mais dont son usage dans la communauté reste encore trop anecdotique.
Chez 2 App à Z, nous travaillons pour des clients n’ayant pas tous déjà des Mac en local et nous aimerions qu’Apple lance sa solution dans le cloud permettant de construire ses projets, mesurer l’évolution du code, la qualité, … Cette solution permettrait de construire les apps dans différentes versions de macOS avec différentes versions de Xcode, sans devoir gérer les mises à jour de ces outils. Ce que font certains acteurs comme Bitrise
Le rachat de Buddy Build par Apple au tout début 2018 pourra peut-être faire émerger ce projet, espoir partagé par les équipes de Vente-privee, 2 App à Z.
iTunesConnect … sur iPhone
L’application sur iPhone est indigne de son grand frère sur le Web. Elle ne gère par exemple pas l’iPhone X 🤔.
A minima, nous aimerions une application permettant d’ajouter des beta testeurs, de soumettre un binaire sur TestFlight et de répondre à la review team ce qui sont des actions pertinentes sur le mobile et que l’on doit pourtant faire sur le Web qui ne dispose pas de version responsive et dont l’usage sur mobile est presque impossible.
La cerise sur le gâteau serait d’intégrer l’analyse de apps.
Créateur d'animations
Les animations de transitions ou de changement d’état sont monnaie courante mais quand il s’agit de faire des choses un peu plus complexes ou scénarisées, les solutions natives deviennent vite complexes en mise en oeuvre et difficile à mettre à jour.
Airbnb a ouvert sa solution
Lottiequi est embarqué dans beaucoup d’applications mais nécessite cependant After Effect.
Chez 2 App à Z, nous adorerions avoir une solution graphique permettant d’animer des objets selon des scénarios, comme Flash en son temps.
Le langage : Swift
Swift 5
La version 5 (déjà!) de Swift avec enfin une stabilisation de l'ABI. Toi lecteur grand public et non développeur, tu passeras peut-être rapidement ton chemin, et pourtant, ceci permettra de te faire économiser plus de 10 Mo à chacune de tes apps embarquant Swift.
La coeur d'iOS : Core Framework
Extension du Framework Core NFC
La NFC a ouvert ses portes en lecture seule l’année dernière permettant à certaines application de lire des tags. Léo et Olivier aimeraient qu’Apple permette l’écriture et aille plus loin notamment en s’affranchissant de lancer l’application pour lire le tag et offrir ainsi une expérience fluide permettant de passer son téléphone pour ouvrir les portes du métro sans lancer l’application, idem avec sa chambre d’hôtel … une expérience similaire à Apple Pay mais disponible à tous les développeurs tiers.
Android dispose de nombreuses choses depuis plusieurs années et la sauce commence à prendre doucement dans nos transports en commun, le timing serait donc parfait.
Les interfaces : UIKit
Travailler en harmonie
Avec les années et les devices, la construction d’interfaces s’est largement compliquée. L’iPhone était d’abord venu avec son propre CocoaTouch, une version des composants graphiques inspirée par son grand frère du Mac mais largement épurée pour les besoins du petit écran de l’iPhone.
CocoaTouch possédait des composants similaires, comme un
Labelpermettant d’afficher du texte mais avec beaucoup moins de fonctionnalités (les
attributed stringsne sont arrivés qu’avec iOS 6) et un nom différent, le NSLabel du Mac avait son cousin éloigné sur iPhone : UILabel.
Ensuite, l’iPad est arrivé avec quelques composants qui lui étaient propres comme le UIPopoverController, jamais porté sur iPhone (beaucoup l’ont re-développé d’ailleurs). Avec l’Apple Watch s’est produit le même phénomène que pour l’iPhone avec le Mac à savoir la naissance de nouvelles classes graphiques et ses propres composants préfixés par WK (et pas NS ou UI).
Enfin l’Apple TV est sortie en se reposant sur CocoaTouch de l’iPhone mais avec ses propres composants.
Il serait bon qu’Apple harmonise tout ça, un sentiment partagé par les Léo Vallet et 2 App à Z. On peut d’ailleurs penser que les visuels de l’événement annoncent un changement radical sur ce point.
Un fonctionnement asynchrone
UIKit fonctionne aujourd’hui exclusivement sur le
main thread, générant parfois des erreurs des développeurs et Apple serait bien inspirée de copier AsyncKit sur ce point.
Réalité augmentée/virtuelle
Si Apple proposé déjà de quoi développer des solutions AR ou VR, au niveau des interfaces, chacun doit ré-inventer son style. Alors qu’Oculus a commencé à dessiner les contours d’une guidelines et de patterns de navigation, on aimerait qu’Apple arrive avec ses préconisations et son UIKit avec des composants d’app de gestion (menus, boutons, tab bar, …) pour faire facilement de l’AR ou de la VR.
Ouvrez les apps !
De nombreux développeurs aimerait qu'Apple permette aux apps de nouvelles interactions.
Chez Orange, on aimerait des APIs permettant à d’autres apps d’échanger ou afficher des contenus sans la lancer. Par exemple, reconnaitre un numéro de vol et afficher la carte avec les informations sur le vol avec le Custom Formatting. Une autre idée de l’opérateur français, toujours dans l’ouverture : ouvrir un peu plus iMessage pour permettre de faire du conversationnel.
Siri
Il y a beaucoup d'attentes quand aux
intentssur Siri, qui gère seulement certains domaines (VOIP, messages, paiements, notes…). Le prochain domaine sera sans doute la réservation de restaurants qui apparait et disparait régulièrement de la documentation mais les développeurs aimeraient pouvoir par exemple lancer une playlist deezer ou demander un itinéraire avec une app spécifique par exemple ou même définir leurs propres domaines.
Evidemment, il est aussi question du HomePod et de son ouverture à d’autres apps.
Des demandes "grand public"
Parce que nous ne sommes pas que dés développeurs, mais aussi des utilisateurs, certains choses nous manquent à nous, comme à vous
Un assistant qui sache faire les mêmes choses partout sur toutes les plateformes, par exemple, les rappels ou le calendrier sur Apple TV, le réveil sur iPad… Le Homepod qui accepte Spotify et un Car Play qui accepte Waze.
L’App Store permet de découvrir des bijoux pour le grand public. Un App Store orienté Business serait également bon pour valoriser les apps de productivité, les apps professionnelles dédiées, …
Une API à la Facebook Connect pour se connecter avec son ID Apple serait aussi une bonne chose pour les développeurs.
Il ne reste plus quel quelques heures d’attentes pour savoir si nos vœux seront exaucés.