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

TechDays 2013 - Cycle de vie d'une application Windows 8 et Windows Phone 8

TechDays 2013 - Cycle de vie d'une application Windows 8 et Windows Phone 8

Que se passe-t-il quand l'utilisateur démarre mon application ? Quand il la ferme ? Quand il verrouille son écran ? Quelles sont les bonnes pratiques de sauvegarde et de restauration de contexte ? Comment faire tourner du code en arrière plan ? Dans cette session nous détaillerons le cycle de vie des applications Windows 8 et Windows Phone 8, ce que ces plateformes ont en commun, et aussi leurs fonctionnalités spécifiques.

Revoir le webcast: http://www.microsoft.com/fr-fr/showcase/details.aspx?uuid=123075b7-9ffe-41ef-8d77-711f4fe6f5b7

Christopher MANEU

February 12, 2013
Tweet

More Decks by Christopher MANEU

Other Decks in Technology

Transcript

  1. Cycle de vie d'une
    application Windows 8 et
    Windows Phone 8
    Christopher MANEU
    Mobile UI Engineer
    Deezer.com
    Code / Développement
    @cmaneu
    http://maneu.net

    View Slide

  2. View Slide

  3. ARRÊTER
    DÉMARRER

    View Slide

  4. • Le « vrai » cycle de vie des applications,
    • Bien démarrer son application,
    • L’arrêt de l’application,
    • Exécuter du code en tâche de fond
    Au sommaire

    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. Pourquoi avoir un tel cycle de vie ?
    Usage répété et
    court
    Economies de
    batterie Multitâche

    View Slide

  8. Les enjeux d’une bonne gestion du cycle de vie
    • Sauvegarder et restaurer efficacement « son contexte»,
    • Conserver des performances/réactivité pendant ces
    opérations,
    • Quid du cycle de vie par rapport à la navigation ?
    • Quid du cycle de vie par rapport à l’architecture ?

    View Slide

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

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

    View Slide

  11. La gestion du démarrage

    View Slide

  12. Adaptez votre application
    au monde des enfants
    ApplicationProfile.
    Modes

    View Slide

  13. Tester notre démarrage
    • Chaque moyen de lancer l’application peut
    être un nouveau piège
    – URL mal formée
    – Fichier corrompu,
    – …

    View Slide

  14. Popcorn

    View Slide

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

    View Slide

  16. Le modèle de navigation

    View Slide

  17. Le règne des
    HyperlinkButtons
    NavigateUri={Binding
    ResumeTaches.DetailUri}
    NavigateUri={
    Binding
    Operateur.Det
    ailUri}
    NavigateUri={
    Binding
    Operateur.Det
    ailUri}

    View Slide

  18. Du routing dans mon téléphone !

    View Slide

  19. Ajouter une « conscience » à nos ViewModels
    • IActiveAware
    – Obscurci,
    – Suspendu, …
    • INavigationAware
    – OnNavigatedTo
    – OnNavigatingFrom

    View Slide

  20. Navigation et ViewModels

    View Slide

  21. Fermeture
    • Sauvegarder les données/le travail de
    l’utilisateur
    • Enregistrer les préférences
    • Mettre à jour les données sur le serveur

    View Slide

  22. Suspension
    • Faire exactement la même chose que la
    fermeture
    • Anticiper la fermeture et la suspension avant
    qu’elles n’arrivent

    View Slide

  23. Les différents moyens de sauvegarder ses données
    • Mémoire
    • Fichiers temporaires
    • Roaming (uniquement Windows 8)
    • Cache HTTP
    • Cloud

    View Slide

  24. Akavache, le cache des héros

    View Slide

  25. « Alive, in motion »

    View Slide

  26. Background downloader Background file transferts
    Tuiles Tuiles
    Push Push
    Audio Audio
    Background tasks Background Location
    Periodic tasks
    Windows 8 Windows Phone

    View Slide

  27. Background transferts
    • Téléchargements et uploads de données en
    HTTP
    • Fonctionne y compris si l’application est en
    cours d’exécution (et c’est même conseillé)
    • Tous vos appels HTTP ne doivent pas utiliser
    les BTS: Images, fichiers volumineux
    (>500Ko/1mb

    View Slide

  28. Tuiles
    • Peuvent êtres mises à jour par une
    background task, une Url ou une notification
    • Attention au délai de mise à jour (!= direct)

    View Slide

  29. Background tasks W
    • Différents canaux de réveils
    – Channel control
    – Evénement système (internet, sms, timezone, …)
    – Minuteur
    – Notifications Push
    • Des contraintes très fortes (1 seconde/2h)
    • Les tâches de maintenances peuvent être utiles

    View Slide

  30. Periodic tasks (WP)
    • S’exécute environ toutes les 15 minutes,
    • Peut ne pas s’exécuter ou s’arrêter de
    s’exécuter rapidement,
    • A utiliser pour apporter un « confort », pas
    pour une fonctionnalité importante
    • Les resources-intensives tasks ont des cas
    d’usages peu évidents

    View Slide

  31. Location background tracking (WP8)
    • Une application qui s’exécute en permanence
    en background
    • Uniquement si vous avez besoin des APIs de
    Location
    • Pensez à alléger le fonctionnement de l’app
    (IActiveAware)

    View Slide

  32. • Centrer son application autour de la
    navigation
    • Rendre vos VMs « aware » avec
    INavigationAware/IActiveAware,
    • Bien travailler le démarrage de l’application
    Pour résumer

    View Slide

  33. Formez-vous en ligne
    Retrouvez nos évènements
    Faites-vous accompagner
    gratuitement
    Essayer gratuitement nos
    solutions IT
    Retrouver nos experts
    Microsoft
    Pros de l’IT
    Développeurs
    www.microsoftvirtualacademy.com
    http://aka.ms/generation-app
    http://aka.ms/evenements-
    developpeurs
    http://aka.ms/itcamps-france
    Les accélérateurs
    Windows Azure, Windows Phone,
    Windows 8
    http://aka.ms/telechargements
    La Dev’Team sur MSDN
    http://aka.ms/devteam
    L’IT Team sur TechNet
    http://aka.ms/itteam

    View Slide

  34. Accélérateur Windows
    Ressources
    Coaching
    Visibilité
    aka.ms/accelerateur-windows
    Plus d’info ? RDV stand Windows 8
    L’Accélérateur Windows

    View Slide

  35. Merci
    Retrouvez le contenu de la session sur le site des TechDays
    et sur http://maneu.net/mstd13-cycledevie

    View Slide

  36. Life Stage designed by Jeff Gerlach from The
    Noun Project

    View Slide