Accueil Nos publications Blog Le nouveau modèle d’application Windows Phone

Le nouveau modèle d’application Windows Phone

Session originale : The New Windows Phone Application Model Les plateformes Windows convergent et apportent leur lot de nouveautés et d’améliorations, notamment du point de vue de Windows Phone. Cette session fait un tour d’horizon de toutes les nouveautés et les nouvelles opportunités disponibles pour les développeurs.

N.B.: De nombreux sujets abordés ici seront détaillés par la suite via leurs sessions dédiées, stay tuned 🙂

01_OnePlatform

Le but de la convergence est évidemment d’avoir des plateformes de développement communes, que ce soit au niveau API, XAML, code, vignettes dynamiques, etc. Il en va de même pour côté services avec la création de compte unifiée pour le Store, les notifications push, la synchronisation des données et l’identité des applications. On parle de 2 types d’applications Windows Phone 8.1 :

  • Windows Phone Silverlight 8.1 : évolution naturelle de Windows Phone 8.0, conservant l’héritage des versions précédentes avec Silverlight
  • Windows Phone Store App ou Windows Phone 8.1 : un rapprochement avec Windows 8.1 pour permettre un développement mutualisé simplifié via les Universal Apps

Modèle d’application

Les derniers investissements pour Windows Phone sont nombreux, tant pour les développeurs que pour les utilisateurs. L’écosystème varié de Windows Phone 8 offre aujourd’hui une expérience utilisateur garantie, malgré les spécifications variées. Avec WP8.1, l’expérience est encore plus fluide, notamment en terme de restrictions mémoire. Restrictions mémoire sous WP8 :

  • 150 Mo max pour un téléphone avec 512 Mo de RAM
  • 300 Mo max pour 1 Go de RAM
  • 450 Mo max pour 2 Go de RAM

Cette approche a été jugée trop conservative et occasionne trop de tombstoning, l’expérience utilisateur en a souffert. Sous WP 8.1, on parle de Dynamic Memory Estimation. Le système surveille l’utilisation mémoire des applications et ajuste la limite mémoire en fonction à partir de ces statistiques. Résultat : plus d’applications restent en mémoire. Par exemple :

  • 512 Mo de RAM : quelques apps “resume”
  • >1 Go de RAM : quasiment toutes les applications “resume”, très peu de tombstoning

02_MemoryEstimation

Multitasking amélioré

WP 8.1 :

  • Les applications ne se ferment plus lorsqu’on dépile toute la stack de navigation en faisant back
  • Les applications se résument toujours (équivalent du Fast App Resume)
  • L’interface de l’app switcher présentant les apps en cours d’exécution est plus simple : un swipe vers le bas suffit pour quitter une app (comme sous Windows 8.1), ou un tap sur la croix

Ces améliorations renforcent l’expérience utilisateur. Un utilisateur normal ne savait pas comment quitter une application jusqu’ici, l’expérience correspond à ce que propose déjà Windows 8. 03_ImprovingAPpExp

Exécution basée sur des triggers

Une application peut souscrire à un ou plusieurs triggers. Dès qu’un trigger est déclenché, un bout d’application s’exécute. Exemples de triggers : push notification, geofencing, Bluetooth LE, schedule, capteurs.

Notifications push

Il est maintenant possible d’associer une tâche à une notification push :

  1. Création d’un channel push
  2. Création d’un trigger avec channel dans le constructeur
  3. Dès que la notification push arrive, une tâche s’exécute

Pour quoi faire ? Pour traiter la notification push avant que le toast soit affiché. L’application peut même s’exécuter sans jamais montrer de toast, en mettant par exemple la vignette à jour ou l’action center. Exemple :

  • Avant : une notification push arrivait, l’utilisateur tapait dessus, puis une fois l’app lancée, l’utilisateur devait attendre quelques secondes la mise à jour des données.
  • Maintenant : on peut traiter les données avant même que l’utilisateur ait lancé l’application, un gain de temps au lancement.

Geofencing

L’API disponible sur Windows 8 arrive enfin sur Windows Phone 8.1 ! Le principe : l’application enregistre une zone (un point + un rayon), dès que l’utilisateur entre dans la zone, l’application est appelée et peut exécuter un bout de code. Le geofencing rejoint la liste des triggers et peut définir jusqu’à 1000 zones.

Miracast

Miracast est disponible sous WP 8.1, on en voit une utilisation pour la démo pour projeter l’écran du téléphone sans câble, merveilleux !

Engagez vos utilisateurs

L’unification du service de notification push est enfin là ! Windows Phone 8.1 tourne maintenant sur le Windows Notification Service (WNS), qui fonctionne ainsi pour Windows et Phone. Les notifications passent maintenant par WNS, sans aucun changement. Globalement, la bascule se fait toute seule de MPN (Microsoft Push Notifications) vers WNS. Résultat : toutes les notifications (anciennes et nouvelles) fonctionnent mieux et améliorent la vie de la batterie. 04_Notifications

Toast Notifications

Format de données et expérience commune entre Windows et Phone. Les notifications s’affichent légèrement différemment mais l’API est la même !

Action Center

L’Action Center fournit de l’information fraîche et pertinente. Les utilisateurs peuvent supprimer une notification ou un groupe ou toute, mais les applications ont également le contrôle :

  • Ajout d’une notification via toast ou silencieuse (ghost notification)
  • Mettre à jour ou supprimer des notifications

05_ActionCenter

Vignettes dynamiques

Même mécanismes entre Phone et Windows, même flexibilité pour engager plus l’utilisateur avec une 40aine de nouveaux templates maintenant disponibles.

Packaging d’application et déploiement

Un package d’application contient un manifeste pour décrire l’app, des ressources pour différentes résolutions (images, etc.), les ressources de traduction et les DLLs, etc. Avec WP 8.1, on hérite du même format entre Windows et Phone : APPX. Ce nouveau format sépare les ressources en plusieurs packages en fonction du device visé, de manière à réduire la taille des packages téléchargés par l’utilisateur. Les mises à jour seront aussi mieux packagées puisque si on met seulement à jour les DLL, l’utilisateur n’aura à télécharger que les DLLs et ne retéléchargera pas tous les assets. 06_Packaging

Installation d’applications et carte SD

Un utilisateur peut décider d’installer une application ou la déplacer sur une carte SD. L’application est alors encryptée sur la carte SD pour des raisons de protection et isolation. Les applications sont par défaut installables sur une carte SD, mais il est possible de l’empêcher depuis le manifeste.

Backup d’application & roaming

Les Windows Store Apps peuvent déjà profiter du cloud pour synchroniser les données entre les différents devices des utilisateurs. Bonne nouvelle : WP 8.1 hérite de cette fonctionnalité !

  • Les metadonnées des vignettes et leur disposition sont enregistrées 1 fois par jour sur OneDrive.
  • Les applications peuvent décider quelles données elles veulent backupées sur OneDrive.
  • Les données en roaming ne peuvent pas dépasser 100 Ko par application.
  • La synchronisation se déclenche lorsque l’écran de verrouillage est activé et que le téléphone n’est pas occupé.

Déploiement en entreprise

On ne passe plus par le Store dans le cas d’une application d’entreprise, il suffit de signer l’application avec un token entreprise (qui coûte $300 / an) pour pouvoir la déployer sur un device enrollé. Moyens de distribution :

  • Mobile Device Management depuis des serveurs (Microsoft ou autres)
  • Votre site web
  • Email
  • Carte SD

Partage de données

WP 8.1 embrasse le concept de share contract qui permet de partager des données entre applications, comme sur Windows 8. Chaque device propose une expérience légèrement différente, mais les APIs sont les mêmes. Les applications peuvent partager n’importe quel type de contenu, sans aucune limitation ! Aucune barre de charmes sur Windows Phone, il faut passer par un bon vieux bouton “partager”. La liste des applications proposée lorsqu’on clique sur partager est optimale, avec les applications fréquemment utilisées en haut.

Résumé

  • Les applications s’exécuteront mieux de manière générale, peu importe le device
  • Multitasking à base de trigger
  • Options de déploiement améliorées
  • Backup & roaming
  • Engager les utilisateurs avec WNS et Action Center

Voilà pour ce petit tour d’horizon, que du bon au menu et encore plus à venir !