WidgetKit : les widgets de l'iPhone sont inspirés des complications de l'Apple Watch

Anthony Nelzin-Santos |

Le Mac n’est plus qu’un iPad, l’iPad n’est jamais qu’un gros iPhone, et voici que l’iPhone récupère les miettes laissées par l’Apple Watch ! Inspirés par leurs travaux sur les complications de la montre, les ingénieurs d’Apple se sont mis en tête de réécrire les widgets d’iOS et de macOS, en utilisant le framework SwiftUI… conçu pour watchOS.

Image Apple.

Le travail titanesque d’unification des bibliothèques logicielles porte décidément ses fruits. Ce n’est plus le Mac qui fait « descendre » ses fonctions, ou l’iPhone qui fait « remonter » ses nouveautés, mais tous les appareils qui s’informent les uns les autres. L’Apple Watch contribue aujourd’hui avec SwiftUI, son framework déclaratif de conception d’interfaces, et ses complications.

Comme les complications, les nouveaux widgets sont conçus pour faire remonter des informations, le plus rapidement possible. « En moyenne, un utilisateur effectue 90 visites par jour sur l’écran d’accueil », explique Nadir Khan, cadre de l’équipe « iOS System Experience ». « La dernière chose que vous voulez voir », ajoute-t-il, « c’est un écran d’accueil tapissé d’indicateurs de chargement ».

Les widgets sont des extensions des applications. Avec SwiftUI, l’application déclare une chronologie de vues, qui seront présentées au moment opportun. Ce n’est pas clair ? Prenons l’exemple du calendrier : au petit matin, l’application prépare toutes les versions de son widget qui seront nécessaires dans la journée, et demande au système d’afficher telle version à tel moment.

Ainsi, le système n’a pas besoin de calculer l’affichage du widget ici ou là. La galerie affiche le widget tel qu’il apparaitra sur l’écran d’accueil, avec de vraies données, plutôt qu’un aperçu générique. Le widget sur l’écran d’accueil et le widget sur l’écran de recherche ne font qu’un. En cas de changement, bien sûr, l’application peut réécrire la chronologie.

Ajoutez un nouveau rendez-vous, et le calendrier rafraichit son widget. Une même application peut fournir plusieurs widgets, statiques (tous les calendriers) ou dynamiques (le calendrier de votre choix1). Enfin, les développeurs peuvent utiliser trois tailles de widgets, du petit carré prenant la place de quatre icônes au grand pavé occupant la largeur de l’écran.

La galerie des widgets.

WidgetKit, le framework qui permet de concevoir ces nouveaux widgets, est compatible avec iOS comme macOS. Le même widget pourrait ainsi prendre place sur l’écran d’accueil de l’iPhone, dans la vue « Aujourd’hui » de l’iPad, ou dans le Centre de notifications du Mac. Et sans grand effort, il pourra s’adapter aux réglages de la taille des textes et au mode sombre.

Et les anciens widgets ? Ils peuvent encore être utilisés sur iOS, mais ne peuvent pas être déplacés sur l’écran d’accueil. Ils ne peuvent plus être utilisés sur macOS, et pour cause, le nouveau Centre de notification est de facto une application Catalyst.

Apple voit les widgets comme de petites unités d’information, et non pas comme de petites applications. Plus encore que l’ancien, le nouveau mécanisme limite fortement les interactions. Certains développeurs abandonneront probablement leurs widgets – les jours de la mini-calculette de PCalc, par exemple, semblent comptés.


  1. Les réglages apparaissent au dos du widget, comme au temps de Dashboard.  ↩︎

avatar Furious Angel | 

C’est une chose qu’ils ont dit durant la keynote, ça semblait surtout un argument pour expliquer le retard mais c’est réel. C’est pile ce qu’il fallait faire

avatar fousfous | 

Donc plus de raccourcis possible avec les widgets? C'est dommage ils me servaient surtout à ça comme avec l'Apple watch les widgets sur l'iPhone sont complètement inutile. Je préfère utiliser la watch pour les informations rapides à obtenir plutôt que de sortir l'iPhone.
Et sur macOS plus de calculatrice? Parce que c'était bien le seul widget que j'utilisais.

avatar Anthony Nelzin-Santos | 

@fousfous : « plus de raccourcis possible avec les widgets » : ils peuvent contenir plusieurs liens profonds, un bon exemple est le widget de Musique, qui contient des liens vers des albums ou des listes de lecture. Donc on peut encore renvoyer vers des sections précises d'une app, ou lancer des actions, avec ce mécanisme. Mais pas faire de mini-apps au fonctionnement indépendant. « Et sur macOS plus de calculatrice? » : non.

avatar fousfous | 

@Anthony

Donc ça veut dire que le widget note a toujours ses raccourcis pour lancer le scanner ou écrire directement quelque chose?
Plus de calculatrice c'est pas cool ça.

avatar Anthony Nelzin-Santos | 
@fousfous : pas dans son implémentation actuelle, mais c'est quelque chose qui est faisable avec WidgetKit.
avatar NicoDFR | 

Il ne me semble pas que SwiftUI ait été développé spécifiquement pour l’Apple Watch à la base 🤔

avatar Baptiste_nv18 | 

@NicoDFR

Quand ils disent « en utilisant le framework SwiftUI… conçu pour watchOS » je pense qu’ils veulent parler du framework responsable des complications et non de swiftUI

avatar Anthony Nelzin-Santos | 
@Baptiste_nv18 : non, je parle bien de SwiftUI, qui provient bien des travaux sur l'interface de l'Apple Watch.
avatar Puff32 | 

La calculatrice reviendra sûrement. Ou alors écrivez au siège, qu’ils la remettent

avatar Nico_Belgium | 

@Puff32

Non je ne pense pas.

Pendant la session sur les widgets ils ont été très clairs: les widgets ne sont pas des mini apps. Ils peuvent contenir des zones d’interaction mais ces dernières ne peuvent être que des raccourcis vers l’application concernée.

Briser eux même la règle qu’ils ont imposés reviendrait à se foutre des dev. Je pense pas qu’ils le feraient

avatar fousfous | 

@Nico_Belgium

Enfin ils pourraient quand même faire une exception pour la calculatrice sur macOS, comme elle était déjà là avant sur Mac.

avatar JOHN³ | 

Dans la vidéo de présentation d’iOS 14 on apercevait des widgets d’autres applications, notamment un avec des horloges mondiales. Vivant entre le Canada et la France et ayant des amis partout dans le monde c’est bien le seul widget qui m’intéresse, absent à ce jour.

avatar Xap | 

Donc le widget Philips Hue qui permet de lancer des scènes rapidement va devoir disparaitre? Ce serait une vrai régression :(

avatar Achlib | 

Qu’en est-il des widgets des applications de transports, affichant les horaires des prochains bus à proximité par exemple ? Il n’y aurait plus la possibilité de changer sur le widget la direction par exemple ? Je pense à l’application Transit notamment...

avatar Anthony Nelzin-Santos | 
@Achlib : aucun problème, quand une application demande à rafraichir son widget, elle peut demander un changement immédiat. (Et d'ailleurs si l'app est bien codée, elle devrait être capable d'anticiper, de prévoir les vues nécessaires pendant l'itinéraire, et tout proposer au système d'un coup. Et seulement dévier de ça en cas… de déviation, justement.)
avatar romgiotti | 

Dommage y’a pas le widget horloge.

avatar eastsider | 

J'espère juste que les Widgets sur ios finiront comme cette daube de force touch.

avatar Smoky | 

Donc plus de widget de prévisualisation des caméras IP 😢

CONNEXION UTILISATEUR