Stratégies et techniques de partage de code C# et XAML entre Windows Phone et Windows 8 Release Preview : Partie 5: Voir plus loin que la portabilité
Cette (longue) série d’articles est découpée en plusieurs billets sur ce blog, mais disponible également dans un seul document ici:
- Partie 1: Introduction – les différences fondamentales entre les plateformes à avoir en tête lorsqu’on envisage le portage d’une application
- Partie 2: Le processus de migration/portage du code
- Partie 3: Techniques d’adaptation et de partage de code
- Partie 4: De la théorie à la pratique: le cas de l’application Klout Kikimeter
- Partie 5: Conclusion: Voir plus loin que la portabilité, penser à l’expérience utilisateur sur les différents terminaux. Le “continuous client”.
Voir plus loin que la portabilité: penser l’expérience utilisateur sur les différents terminaux : le paradigme du “continuous client”
Si votre utilisateur apprécie votre application il y a de fortes chances qu’il cherche à la retrouver sur les différents terminaux qu’il possède. Cet utilisateur s’attendra au minimum à trouver une expérience taillée pour chaque facteur de forme, au mieux, à pouvoir importer et partager ses paramètres, ses favoris, entre ces différents terminaux.
Par exemple, dans l’application Klout qu’on vient de voir, il est tout à fait raisonnable d’imaginer que les favoris et le ranking soit partagés, par exemple à travers un service Cloud, entre l’application téléphone et l’application tablette.
Si la synchronisation des données est la base de l’idée de continuous client, on peut aller plus loin, en imaginant que l’utilisateur pourra « continuer » l’activité qu’il avait sur un terminal directement sur un autre terminal de façon fluide. Par exemple, pour une application autour du cinéma, consulter des fiches de film dans le métro sur son téléphone, et pouvoir retrouver et regarder les bandes annonces des films qu’il a sélectionné dans le métro une fois chez lui, sur sa tablette. Dans toutes ces expériences le rôle du Cloud va devenir prépondérant, donc si vous n’êtes pas familiers avec les concepts d’Azure, par exemple (au dela de l’hébergement ou du stockage, tout ce qui est fédération d’identité, scénarios de synchro online/offline, etc) je vous encourage à y jeter un œil pour comprendre à quel point le cloud pourra enrichir votre application. Il y a d’ailleurs pour Windows Azure un toolkit qui simplifie le développement de backends pour WinRT, Windows Phone mais aussi disponible sur iOS et Android, et vous pouvez le trouver sur codeplex et sur github :