Prise en charge du multi-fenêtre dans ton appli iPad
Développement natif pour iPadOS
- Publié
- Mis à jour
- (créé )
- Écrit par
- Willem L. Middelkoop
- Sujets
- apple · design · iOS · iPad · programmation · tablette · travail
- Version humaine de cet article
- https://willem.com/fr/2019-10-07_prise-en-charge-du-multi-fenetre-dans-ton-appli-ipad/
- English
- Multi-Window support in your iPad app
- Nederlands
- Multi-Window-ondersteuning in je iPad-app
- Deutsch
- Multi-Window-Unterstützung in deiner iPad App
- Español
- Compatibilidad con Multiventana en la app para iPad
- Italiano
- Supporto multifinestra nella tua app per iPad
- Português
- Suporte de várias janelas na tua app para iPad
- Papiamentu
- Suporte pa multi-window den bo app di iPad
- Frysk
- Multi-Window-stipe yn dyn iPad-app
- Langues
- Traduit de l’original anglais par un modèle de langage en deux passes (traduction et relecture) avec un glossaire et un correcteur orthographique ; pas encore relu par un lecteur de langue maternelle.
Résumé
Le mois dernier, Apple a lancé iPadOS, le premier système d'exploitation dédié à l'iPad. Il se distingue d'iOS par sa prise en charge du plus grand écran de l'iPad, avec notamment les fenêtres multiples / l'écran partagé. Je développe des applis et il était temps de profiter de ces nouvelles possibilités qu'offre iPadOS.
Texte intégral
Depuis 2016, j'utilise l'iPad comme ordinateur principal, c'est un super ordinateur mobile. Son système d'exploitation est pourtant différent de celui de la plupart des ordinateurs. iPadOS repose sur iOS, qui tourne sur le célèbre téléphone mobile d'Apple, l'iPhone. Cela rend l'iPad un peu différent au quotidien, à cause de la manière dont il exécute les applis.

À cause de ses racines de smartphone, iPadOS gère les applis comme le fait un iPhone : elles tournent en plein écran, concentrées sur une seule tâche. Les gens adorent l'iPad pour ça, c'est une excellente façon de garder l'esprit concentré sur une seule chose.
Prise en charge de plusieurs fenêtres sur iPad
Il y a des situations où faire tourner plusieurs fenêtres en même temps peut être très utile, et c'est là qu'Apple a amélioré iPadOS en permettant d'exécuter des applis côte à côte.

Même quand tu travailles sur une seule tâche, la prise en charge de plusieurs fenêtres est très utile, car elle te permet d'ouvrir plusieurs instances de la même appli en même temps. Cela ouvre différents cas d'usage où tu peux regarder et modifier un contenu sous plusieurs angles. Par exemple comparer deux mois différents dans ton agenda, modifier un long document ou regarder la carte à différentes échelles en même temps.


L'intention de conception
Quand Apple a introduit la prise en charge de plusieurs fenêtres sur iPad, elle l'a conçue dans le respect des racines mobiles d'iPadOS. Contrairement aux applis PC traditionnelles, où un logiciel complexe peut tourner par défaut dans plusieurs fenêtres (et panneaux) différents, iPadOS maintient l'exigence qu'une appli doit pouvoir tout faire depuis une seule fenêtre.
Sur iPad, c'est une règle de conception : toutes les fenêtres d'une appli sont du même type, et chacune peut tout faire dans l'application. L'utilisateur doit pouvoir tout faire depuis une seule fenêtre s'il le souhaite. Il doit pouvoir créer plusieurs fenêtres seulement s'il le juge utile, mais l'appli ne doit jamais l'exiger. Cela préserve la simplicité de fonctionnement des applis sur iPadOS : tu peux continuer à les utiliser en plein écran, comme sur un smartphone.

Cycle de vie de l'appli (et changements de code)
D'un point de vue technique, Apple a introduit UIWindowScene avec une abstraction UISceneSession correspondante dans la structure de l'interface. Elle se place entre UIScreen et UIWindow.


Quand iPadOS (et iOS) font tourner plusieurs applis, il se peut que le système ferme une appli en arrière-plan pour économiser la mémoire et l'énergie. C'est voulu : cela garde le système rapide et ménage la batterie.
Du point de vue du cycle de vie de l'appli, cela signifie qu'au démarrage, tu dois vérifier si ton appli tournait déjà avant. S'il existe une UISceneSession, l'appli doit s'y reconnecter, pour offrir à l'utilisateur un état d'interface persistant. Si c'est bien fait, l'utilisateur ne remarquera pas que l'appli a été interrompue en arrière-plan.

Si tu adoptes les nouveaux concepts UIWindowScene (et UISceneSession) dans ton appli, tu pourras profiter des nouvelles capacités multi-fenêtres de l'iPad. Mais il y a encore une chose : Apple prévoit d'amener les applis iOS et iPadOS sur le Mac. Avec ces nouveaux concepts d'interface, ton appli tournera très bien sur macOS aussi !

En pratique
En tant que développeur, j'ai eu peu de mal à intégrer ces nouveaux concepts d'interface dans mes applis. Avec relativement peu d'efforts, tu peux ouvrir de nombreux cas d'usage où la même appli donne plus de puissance à l'utilisateur.




Conclusion
Apple n'a pas précipité la prise en charge de plusieurs fenêtres sur iPad, elle a pris son temps pour bien la concevoir. Si tu adoptes ces nouveaux concepts, ton appli sera plus puissante pour ses utilisateurs.
C'est toujours une bonne idée de prendre le temps de comprendre les concepts d'interface sous-jacents avant de te lancer dans le développement. Fais-le bien (et proprement) plutôt que vite (et bêtement) !