Retour d’expérience Windows Store App

WindowsStoreHeader
Microsoft fait couler des litres d’encres avec les applications Windows Store depuis la sortie de Windows 8 (à titre indicatif, Windows 8.1 est enfin disponible et est téléchargeable ici).

Nous ajoutons aussi à ceci une multitude de bloggeurs (MVP, MCSD, experts…) qui s’expriment dans ce sens.

Aujourd’hui, je décide de partager avec vous mon retour d’expérience sur le développement d’application Windows Store (C# et XAML) en mettant en lumière les difficultés techniques qu’une équipe peut rencontrer tout au long de l’ALM (Application Life Management) d’un projet utilisant cette technologie.

1/ Le Microsoft Design Style (design d’une application Windows Store)

Le Microsoft Design Style (MDS) est à la fois simple, fort et très prometteur. En revanche, maquetter les interfaces d’une application pour qu’elle réponde aux mieux aux guidelines fournit par Microsoft et aux attentes fixées par le client nécessite beaucoup de finesse et un savoir-faire pointu en la matière.

Pour trouver l’équilibre entre ces deux entités, vous devez aiguiller le client vers la tendance du MDS. Vous devez porter la casquette du conseiller ergonome, trouvez les bons mots pour lui faire comprendre qu’une application Windows Store offre une expérience utilisateur unique (de par sa navigation et de son design) et également mettre en place des ateliers d’ergonomies.

Le MDS tourne autour de ces axes : Content before Chrome, responsive, typographie, expériences unifiées, touch-ready et flat design.

J’aborderais tous ces thèmes sur mes prochains articles.

2/ Les performances

Nous le savons tous, l’attente n’est pas la spécialité des utilisateurs d’applications et de nous-même d’ailleurs.

L’une des conditions sine qua non de la réussite d’une application Windows Store est qu’elle doit être « Fast and Fluid ». Les clients veulent que le temps d’affichage par page soit d’une seconde.

Atteindre ses performances reste un défi assez conséquent.

Les applications Windows store ne peuvent se connecter à une base de données distante directement, il est nécessaire de passer par des Web Services, … En revanche, les utilisateurs ne sont pas tous le temps en mode connecté.

Heureusement, qu’il est possible d’embarquer une base de données au sein de l’application et d’ensuite la synchroniser une fois la connexion internet rétablit.

La solution la plus simple est de mettre en place une base de données SQLite (j’aborderais ce thème sur mes prochains articles).

Cela dit, tout au long de mon expérience, j’ai trouvé que SQLite-Net reste relativement limité en fonctionnalités (prenons le cas d’une jointure en LINQ par exemple) ce qui nous a souvent poussé à prendre des décisions au risque de perdre en performance.

Les facteurs qui peuvent également nuire aux performances d’une application Windows Store est la mauvaise utilisation des Converters, des Data Templates, des ressources et j’en passe.

3/ Le patron de conception MVVM

MVVM est très répandu sur des projets de types Windows Store, WPF, Silverlight…cela dit, ce design pattern n’est pas toujours un cadeau de la nature.

Je conseil fortement aux personnes qui n’ont jamais appliqué ce genre de patron de conception de prendre le temps d’en connaître les bases et si vous n’êtes pas du genre « learning by doing », de réaliser des ateliers et de s’entraîner.

J’ai déjà abordé ce sujet sur mes posts antérieurs. Vous pouvez le visualiser ici

Pour conclure, je dirais que malgré les difficultés rencontrées, développer des applications Windows Store est très intéressant dans le sens où on s’imprègne d’une nouvelle philosophie de conception et de développement à part et unique en son genre. Je suis persuadé que c’est une technologie très prometteuse.

Mon expérience m’a montré que pour réussir un projet Windows Store App, il faut mettre l’accent sur ces axes:

  • Etablir une relation de confiance avec le client.
  • Etre force de proposition (ergonomique et technique) lorsque le client n’a pas d’expérience sur les applications Microsoft design style.
  • Avoir le réflexe de réaliser des POCs pour tester les performances en cas de big datas.
  • Organiser quotidiennement des dailys Scrum (entre les membres de l’équipe)
  • Faire beaucoup de recherches sur la techno (lecture, vidéos, participé aux forums,…)
  • Communiquer régulièrement sur les points bloquants.
  • Savoir répartir les domaines de compétences (C#, XAML, …) de chaque membre de l’équipe.

Ne surtout pas oublier que la réussite d’un projet est le travail d’équipe. J’en profite d’ailleurs pour saluer toutes les personnes avec qui nous avons mené à bien tous les projets Windows Store.

3 commentaires sur “Retour d’expérience Windows Store App

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s