Cycle de vie d’une
application Windows 8
Christopher MANEU
maneu.net | deezer.com
Slide 2
Slide 2 text
No content
Slide 3
Slide 3 text
No content
Slide 4
Slide 4 text
Lancer son
application
Gérer les états
d’inactivité
Bonnes pratiques
état de l’application
Slide 5
Slide 5 text
Tout le monde connait le cycle de la vie, non ?
Slide 6
Slide 6 text
Tout le monde connait le cycle de la vie, non ?
Slide 7
Slide 7 text
Le lancement, une étape complexe
1. Initialiser toutes les classes obligatoires
(VMLocator, IoC, …)
2. Vérifier si l’utilisateur est connecté/reconnu
3. Charger les données de l’utilisateur/l’app
4. Télécharger les données mises à jour
5. Commencer à s’occuper du lancement
Slide 8
Slide 8 text
Le lancement, une étape complexe
Boot
Screen
Fichier
Tuile
Search
Share
Slide 9
Slide 9 text
La gestion du démarrage
Slide 10
Slide 10 text
Suspended & Terminated
• Le Terminated peut être fait sans notification ! (memory
pressure)
Slide 11
Slide 11 text
Connected standby
• Uniquement sur certains devices (Surface RT, …)
• « Eteint en étant allumé, mais eteint »
• Le cycle de vie «classique » est conforme par défaut
• Certains cas doivent être gérés (audio background)
• http://maneu.net/win8connectedstandby
Slide 12
Slide 12 text
Le cycle de vie ne suffit pas !
• Les objets
• Les pages
• Les ViewModels
Slide 13
Slide 13 text
Le modèle de navigation
Slide 14
Slide 14 text
Le règne des
HyperlinkButtons
NavigateUri={Binding
ResumeTaches.DetailUri}
NavigateUri={B
inding
Operateur.Deta
ilUri}
NavigateUri={B
inding
Operateur.Deta
ilUri}
Slide 15
Slide 15 text
Navigation et cycle de vie
Slide 16
Slide 16 text
L’objectif de « l’état » est de
maintenir une expérience
utilisateur consistante entre les
sessions, les périphériques et les
événements
Slide 17
Slide 17 text
Running Suspended Not running System restart Autres
périphériques
Slide 18
Slide 18 text
Running Suspended Not running System restart Autres
périphériques
Local/temp app data
Fichiers, Json, XML, Bases SQLite, …
Fichiers utilisateurs (et Windows.Storage.AccessCache)
Windows.Storage.PasswordVault, sync’d to cloud
Slide 19
Slide 19 text
Quelques points importants
Versionning Erreurs Etat de départs
Slide 20
Slide 20 text
Les tâches d’arrière-plan et l’état
• System triggers
• AC power, non-lock screen
• InternetAvailable, NetworkStateChange for connectivity
• ServicingComplete: ideal pour mettre à jour vos settings
http://maneu.net/win8-updateappevent
Slide 21
Slide 21 text
Gestion de l’état
Slide 22
Slide 22 text
Utiliser une page « bootscreen »
Sauvegarder l’état le plus tôt possible.
Utiliser le SuspensionManager pour une gestion facile
de la suspension
Utiliser le bon cache pour accélérer les chargements.
Utiliser le roaming pour offrir une expérience
consistante entre les périphériques