Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Cycle de vie d’une application Windows 8 - Après midi du développement Microsoft

Cycle de vie d’une application Windows 8 - Après midi du développement Microsoft

Christopher MANEU

May 28, 2013
Tweet

More Decks by Christopher MANEU

Other Decks in Technology

Transcript

  1. Cycle de vie d’une
    application Windows 8
    Christopher MANEU
    maneu.net | deezer.com

    View Slide

  2. View Slide

  3. View Slide

  4. Lancer son
    application
    Gérer les états
    d’inactivité
    Bonnes pratiques
    état de l’application

    View Slide

  5. Tout le monde connait le cycle de la vie, non ?

    View Slide

  6. Tout le monde connait le cycle de la vie, non ?

    View Slide

  7. 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

    View Slide

  8. Le lancement, une étape complexe
    Boot
    Screen
    Fichier
    Tuile
    Search
    Share

    View Slide

  9. La gestion du démarrage

    View Slide

  10. Suspended & Terminated
    • Le Terminated peut être fait sans notification ! (memory
    pressure)

    View Slide

  11. 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

    View Slide

  12. Le cycle de vie ne suffit pas !
    • Les objets
    • Les pages
    • Les ViewModels

    View Slide

  13. Le modèle de navigation

    View Slide

  14. Le règne des
    HyperlinkButtons
    NavigateUri={Binding
    ResumeTaches.DetailUri}
    NavigateUri={B
    inding
    Operateur.Deta
    ilUri}
    NavigateUri={B
    inding
    Operateur.Deta
    ilUri}

    View Slide

  15. Navigation et cycle de vie

    View Slide

  16. L’objectif de « l’état » est de
    maintenir une expérience
    utilisateur consistante entre les
    sessions, les périphériques et les
    événements

    View Slide

  17. Running Suspended Not running System restart Autres
    périphériques

    View Slide

  18. 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

    View Slide

  19. Quelques points importants
    Versionning Erreurs Etat de départs

    View Slide

  20. 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

    View Slide

  21. Gestion de l’état

    View Slide

  22. 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

    View Slide

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

    View Slide