Christian HissibiniDéveloppeur Windows Phone Christian Hissibini (Histech Solutions) partage son premier rencontre avec la platforme Windows Phone. Son histoire raconte des trucs et lecons pour tout développeur interessé au platforme Windows Phone.

Cet post est aussi disponible en anglais/This post is also available in English

Curieux de nature, passionné et trop souvent à la quête de cette agréable sensation générée par l’accomplissement de nouveaux défis. L’un des objectifs que je m’étais fixés pour le mois de septembre dernier, était d’apprendre à développer des applications Windows Phone.

Pour bien commencer : Essayer de joindre l’utile à l’agréable !

Par expérience, j’ai appris que la meilleure façon d’aborder une nouvelle plateforme de développement est de débuter par de petits projets concrets et digestes.

En parlant de digestion, manger est une chose que j’adore, mais je déteste mettre du temps en cuisine (je suis sûr que nous sommes nombreux dans ce cas J). Donc l’idéal pour des gourmands-paresseux comme nous, c’est d’avoir des recettes diversifiées de cuisine rapide à portée de main; d’où l’idée de l’application « Recettes de Fast Food ».
Il y a de quoi avoir de la motivation pour la suite non ?

Pourquoi la plateforme Windows Phone ?

Certains se demanderont pourquoi j’ai opté pour cette plateforme et non une autre.
Voici donc quelques raisons qui ont motivé ce penchant :

  • Il s’agit d’un nouveau marché qui s’ouvre avec un max d’applications potentielles à développer.
  • Une bonne occasion pour moi de me familiariser d’avantage avec le C# et XAML.
  • Le charme de l’interface qu’offre le système Windows Phone.
  • Etc.

Avant de se lancer, bien préparer son environnement de travail et se munir des essentiels

Se procurer les outils d’environnement de développeur

En tant qu’étudiant, je bénéficie des avantages du programme Dreamspark. Il s’agit en fait d’un programme ouvert aux étudiants, et qui leur permet d’accéder gratuitement à une foule de ressources logiciels, facilitant l’apprentissage et, permettant la création de nouvelles applications et l’innovation.­­­

De la panoplie d’outils gratuits qu’offre Dreamspark, j’ai eu besoin des suivants :

  • Une licence de développeur valide pour 1 an.
  • Kit de développement Microsoft Visual Studio Professional 2012. (ou 2013)

Si vous ne bénéficiez pas du programme Dreamspark, vous pouvez vous procurer le Windows Phone SDK gratuitement. A l’heure où j’écris ce billet, une licence de développeur vaut 19$ (Moins coûteux que 2 trios Big Mac J ).

Se munir de la documentation et ressources de formation

Affamé de code, mais n’aimant pas m’éterniser dans la cuisine littéraire, il me fallait trouver une documentation qui allait très vite apaiser ma faim d’action… Chose qui fut très facile, grâce aux ressources en ligne disponibles dans le site MSDN.

Je conseille à tout débutant de commencer par consulter la ressource intitulée Getting started with developing for Windows Phone.
L’approche ici est très intéressante. En effet, il s’agit d’un ensemble de tutoriels détaillés et classés en sections. En se laissant guider par ces instructions pas à pas, on se retrouve très vite la peau d’un enfant à qui on tient la main pour l’aider à former des lettres, tellement le langage est abordable et simpliste et, les références claires.

L’une de mes sections préférées est How to create your first app for Windows Phone.
C’est toujours le fun de pouvoir réaliser quelque chose qui marche dès les 30 premières minutes d’apprentissage. Souvenez-vous de l’euphorie et de la motivation qu’a toujours suscitées ce cher « Hello World » J .

Les autres sections ne sont pas moins intéressantes, d’autant plus qu’on y retrouve des explications précises sur l’utilisation des outils et templates, les directives pour concevoir de belles applications, d’autres informations utiles sur la plateforme et de nombreuses démos d’applications téléchargeables.

Une autre chose que j’apprécie énormément, est le fait que la plateforme bénéficie du support MSDN et de sa communauté très active de développeurs.

J’ai pris beaucoup de plaisir avec la suite de tutoriels vidéo intitulée Building Apps for Windows Phone 8 Jump Start. Les formations, d’une approche simpliste, sont aussi bien adressées aux débutants qu’aux développeurs avancés.

Je ne saurais passer à l’étape suivante, sans oublier de mentionner le programme Microsoft Virtual Academy, qui est une vraie mine d’or en termes de formations gratuites principalement axées autour des technologies que couvrent les plateformes Microsoft.

On passe à table !

Plan de travail.

Galvanisé par mon premier essai d’application, je me suis tout de suite lancé sur Visual Studio, avec la détermination de réaliser mon projet d’application « Recette de Fast Food ». M’étant dit que je sais ce que je veux exactement, donc il n’y aurait pas de difficulté de se lancer tout de suite dans l’écriture des lignes de code… Mais… GROSSE ERREUR!

En fait, j’ai passé deux heures à tourner en rond, car de nouvelles idées fusaient de partout et mon idée de base avait tendance à être dénaturée. Et vous comprenez combien il est difficile de formaliser des idées instables.

« Papier – Crayon, duo de choc au service des idées »


Je n’avais donc pas d’autres choix que de calmer mes ardeurs et de revenir à la case départ, cette fois-ci en observant des pratiques qui m’ont souvent souri par le passé. Il s’agit ici de formuler exactement ce que je désire sur une feuille de papier en tentant de répondre aux questions du genre:

  • A quoi servira cette application ?
  • Quelles sont les principales cibles?
  • Quelles seront ses principales fonctionnalités ?
  • Etc.

A l’aide d’un crayon, j’ai esquissé la structure du système et les différentes interactions au niveau de l’interface, à la manière d’un storyboard.

Ci-dessous, vous avez l’une des esquisses que j’ai réalisées initialement pour l’interface de mon application.

clip_image002
Esquisse initiale de l’application

Ces esquisses ont été d’une très grande utilité car elles m’ont permises de visualiser l’UI (interface de l’application) et ainsi d’évaluer si certaines de mes idées tenaient la route ou pas.

Par exemple, dans mon idée de départ, je n’avais pas pensé organiser les recettes en catégories, mais en simulant les cas d’utilisations, je me suis rendu compte qu’il fallait absolument un menu pour guider l’utilisateur dans sa navigation ou tout simplement pour lui suggérer des possibilités, à la manière des restaurants ;)

clip_image004
Évolution de l’interface de l’application

Note : Au moment, où je réalisais mes premiers dessins, je n’avais pas connaissance des templates de dessin Windows Phone, donc pour réaliser proprement vos dessins, je vous conseille de télécharger ce template à l’adresse suivante : http://cmsresources.windowsphone.com/devcenter/en-us/downloads/Sketch_Templates.pdf

Partant de là, il m’a été facile d’aborder le traitement du XAML. Et aussi de faire évoluer l’interface de mon application.

< Place au code />

Par soucis de lisibilité, je ne parlerai pas développement de code ici, mais dans des posts futurs, j’aborderai certains détails techniques du codage et, partagerai avec vous des bonnes pratiques que j’ai apprises, souvent au gré de plusieurs essais maladroits. Donc, affaire à suive !

Conclusion

Je vais conclure ce premier retour d’expérience en rappelant quelques notions qui m’ont été utiles :

  • Démarrer avec un petit projet
  • Se procurer les outils nécessaires
  • Se documenter à l’aide des ressources en ligne
  • Reproduire des exemples afin de bien comprendre certains mécanismes
  • Faire des dessins pour mieux matérialiser son projet et développer sa vision
  • Parcourir les Forums en ligne et au besoin poser des questions à la communauté

J’espère que vous avez pris du plaisir dans votre lecture.

Bonne aventure Windows Phone !

Recettes de Fast Food sur le Windows Phone Store : http://www.windowsphone.com/fr-fr/store/app/recettes-de-fast-food/f7507661-dcaa-4154-9947-91c00287cf97

P.S. N’oubliez pas, cette année au Canada, dans le cadre du Mouvement des développeurs, vous apprendrez sous la tutelle du Sensei du code et maîtriserez l’art de coder! Amassez des points à chaque étape, puis échangez ceux ci contre des récompenses géniales!