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 🙂
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
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.
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 :
- Création d’un channel push
- Création d’un trigger avec channel dans le constructeur
- 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.
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
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.
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
- 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 !