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
  2. • 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
  3. Pourquoi avoir un tel cycle de vie ? Usage répété

    et court Economies de batterie Multitâche
  4. 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 ?
  5. 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
  6. Tester notre démarrage • Chaque moyen de lancer l’application peut

    être un nouveau piège – URL mal formée – Fichier corrompu, – …
  7. Le cycle de vie ne suffit pas ! • Les

    objets • Les pages • Les ViewModels
  8. Ajouter une « conscience » à nos ViewModels • IActiveAware

    – Obscurci, – Suspendu, … • INavigationAware – OnNavigatedTo – OnNavigatingFrom
  9. Fermeture • Sauvegarder les données/le travail de l’utilisateur • Enregistrer

    les préférences • Mettre à jour les données sur le serveur
  10. Suspension • Faire exactement la même chose que la fermeture

    • Anticiper la fermeture et la suspension avant qu’elles n’arrivent
  11. Les différents moyens de sauvegarder ses données • Mémoire •

    Fichiers temporaires • Roaming (uniquement Windows 8) • Cache HTTP • Cloud
  12. Background downloader Background file transferts Tuiles Tuiles Push Push Audio

    Audio Background tasks Background Location Periodic tasks Windows 8 Windows Phone
  13. 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
  14. Tuiles • Peuvent êtres mises à jour par une background

    task, une Url ou une notification • Attention au délai de mise à jour (!= direct)
  15. 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
  16. 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
  17. 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)
  18. • 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
  19. 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
  20. Merci Retrouvez le contenu de la session sur le site

    des TechDays et sur http://maneu.net/mstd13-cycledevie