Slide 1

Slide 1 text

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

Slide 23

Slide 23 text

Merci http://maneu.net/devcamps-cyclewin8