Accueil Nos publications Blog Retour sur Meetup « La trousse à outils du super développeur Windows Phone »

Retour sur Meetup “La trousse à outils du super développeur Windows Phone”

meetup_windows_phoneRécemment, avec Cyril, nous avons animé une soirée technique dédiée à Windows Phone et un ensemble d’outils utiles et pratiques pour les développeurs. Si les fichiers de présentation et le code source sont d’ores et déjà disponibles, je vous propose de revenir quand même en bref sur cette soirée et les points essentiels dont nous avons pu parler. Nous savons qu’il existe beaucoup d’outils pour vous aider à améliorer votre développement et ceux dont nous parlerons sont exhaustifs. Il s’agit de ceux dont nous nous sommes servis au moins une fois ou dont nous avons entendu parler.  Vous êtes prêts ? Commençons alors !

Trouver une idée

« J’ai besoin d’une idée » doit être la citation que j’ai le plus entendu de la bouche de développeurs que nous avons pu côtoyer avec Cyril. Si l’on est en manque d’inspiration, il existe fort heureusement beaucoup de sites recensant des APIs exploitables (plus ou moins gratuites). Ces sites les catégorisent :

Et il en existe encore bien d’autres. Si cela est trop vaste pour vous, l’idée peut venir tout simplement d’un besoin que vous auriez. Que vous manque t-il sur votre Windows Phone, qu’aimeriez vous y voir ? Ou alors, vos proches ? Ne cherchez pas forcément loin, la réponse est peut être simplement en vous.

Rassembler ses idées

Avoir une (ou plusieurs) idée(s) est la première étape avant la réalisation de votre application. Toutefois, attention. Pour y voir plus clair, il ne faut pas sous-estimer la puissance de l’expression de ses idées par écrit. Déjà, parce que, quand vous avez une idée, il est fort probable qu’elle change, qu’elle s’améliore, qu’elle se peaufine, que vous ayez besoin de la partager à d’autres. Donc, écrivez vos idées quelque part ! Que ce soit un bloc-note (physique ou pas), il existe des outils ayant plusieurs avantages pour vous y aider.

  • One Note : Il est disponible tant en version logiciel bureau que version Web, disponible également sur de nombreuses plateformes mobiles (Windows Phone, IOS, etc…). Il est possible non seulement de taper ses idées, mais aussi de les dessiner, les écrire, de créer des listes, des books, de les organiser dans tous les sens.
  • Trello : Il existe tant en version Web que Version logiciel, mais il a sa petite différence par rapport à One Note. C’est plutôt un outil du genre ToDo List.
  • X-Mind : Différent des 2 autres outils précédents, il aide à “brainstormer” et clarifier vos idées. C’est un outil de mind mapping (ou carte heuristique si vous préférez 🙂 ).

Gribouiller ses idées

Maintenant que l’on a l’idée, que l’idée est plus ou moins claire (car, elle a été bien posée par écrit :-)), il est temps de pousser un peu davantage la réflexion et réfléchir déjà à la navigation ou au plan de son application et même (pour les plus motivés), à des schémas visuels (Storyboarding, icones et autres outils pratiques). Voici une liste d’outils pratiques :

SiteMap

Wireframes

Icônes

Couleurs

  • Adobe Kuler : Pour trouver des associations / combinaisons de couleurs pour une ou plusieurs couleurs

Guidances

Après avoir suivi donc ces 3 premiers points pour vos idées, les guides sont là, nous sommes généralement prêts à commencer le développement de notre application.

Commencer à coder

Tout d’abord, il est indispensable d’avoir un endroit ou sauvegarder vos sources. Si vous avez déjà le vôtre, vous pouvez le garder, et si vous n’en utilisez pas, pour rappel, sachez que Microsoft met à votre disposition un service gratuit, Team Foundation Service.

Ensuite, si vous êtes débutants (ou pas), il existe de nombreux exemples de codes qui peuvent vous éviter d’avoir à réinventer la roue ou tout simplement vous accompagner dans vos premiers pas sur la plateforme ou encore vous montrer de bonnes pratiques.

Si vous consommez des données de flux au format JSON, nous avons l’habitude d’utiliser 2 outils assez pratiques :

  • JSONViewer : il vous permet de visualiserde manière hiérarchique vos données, de les indenter, de vérifier un flux.
  • JSON2CSharp : très pratique pour générer vos modèles objets à partir d’un flux.

Productivité

Là encore, c’est vraiment une petite liste, ce n’est pas l’objet de cet article qui n’est pas dédié à la productivité.

  • Productivity Power Tools : Rajoute quelques fonctionnalités pratiques à Visual Studio
  • Project Linker : Pouvoir ajouter des fichiers en lien au sein de d’autres projets
  • Resharper : Un outil qui améliore grandement l’expérience de l’utilisateur avec Visual Studio
  • ResX Manager : générer simplement plusieurs fichiers de langues dans un projet
  • Nuget : faut il vraiment toujours le présenter ? 🙂 Vous permet de rajouter des extensions à votre Visual Studio.

Des contrôles pratiques

Il est possible bien entendu de créer des applications sans contrôles. Mais certains peuvent vous faire gagner beaucoup de temps, vous évitant d’avoir à recréer des choses déjà existantes.

D’autres outils pratiques

Il peut arriver que vous sauvegardiez vos données (ou images) dans l’espace réservé à votre application. Il existe des outils qui vous permettent de pouvoir explorer cet espace, pouvoir déployer des xap sur votre téléphone (sans nécessairement passer par visual studio), télécharger des fichiers vers ou depuis votre isolated storage.

Traduction

Pour revenir sur l’internationalisation de votre application, nous avions parlé de Resx Manager tout à l’heure. L’inconvient de cet outil est qu’il s’intégre nécessairement à Visual Studio. Il ne vous permet pas non plus de traduire automatiquement (à l’aide d’un traducteur automatique) les différentes clés que vous pouvez avoir au sein de votre projet. C’est ce qe vient complet l’outil : Multilingual App Toolkit.

Vous pouvez avec traduire vos projets, mais aussi envoyer facilement vos fichiers à d’éventuels traducteurs, et ils peuvent traduire (ou peaufiner les traductions) sans nécessairement avoir besoin de Visual Studio (c’est aussi un outil “standalone”).

Monitoring / Profiling

Tests

  • Simulation DashBoard : Pouvoir simuler des conditions de tests réelles depuis Visual Studio (perte de connexion, signal faible, etc…)
  • Windows Phone Store Tests Kit : Tester son application sur la même base que les tests faits pour la certification de son application. Si votre application passe tous les tests avec cet outil, elle devrait “normalement” passer les tests de certifications Microsoft :-).

Services et Gamification

Quand vous développez une application (ou un jeu), vous pouvez avoir besoin de services à votre disposition pour stocker des données (par exemple, pour des notifications, ou des scores) sans avoir à vous soucier de l’infrastructure.

Buddy est un outil magnifique mettant à votre disposition ses APIs et ses données. A noter que vous pouvez bénéficier de Buddy au travers du programme Nokia Developer Premium Program. Par contre, Buddy n’est pas spécialisé dans la gamification (Tableau de score, récompenses, etc…)

Voici des services dédiés pour ce genre d’utilisation :

Outils de de statistiques

Pour pouvoir créer une application intéressante, il est important d’étudier les métriques de votre application. Cela vous permet de pouvoir comprendre vos utilisateurs, la façon dont ils utilisent votre application, et pouvoir agir en conséquence.

  • Flurry : ils ont un SDK tant pour Windows Phone 7 que Phone 8.
  • Google Analytics : ils n’ont pas de SDK officiel pour Windows Phone, mais il est possible d’en trouver via Nuget
  • Localytics
  • Mtiks

Et les crashs ?

Il est possible de pouvoir relever les cashs au sein de certains outils d’analytics, mais aussi par :

  • Mail (mais pas forcément pratique, vous ne disposez pas d’une base de données recensant vos crashs, et vous devez les organiser vous même).
  • Crittiercims
  • BugSense

Être à l’écoute de ses utilisateurs

Vos utilisateurs guident vos idées, vous en donne, vous signale les éventuelles erreurs ou crashes que peuvent rencontrer vos applications. Alors, soyez à l’écoute ! C’est possible toujours au travers de simples mails ou alors, facilement grâce à UserVoice. Quoique payant, l’offre de base gratuite reste intéressante pour une application.

Marketing / Promotion

Voilà, maintenant que votre application est réalisée après que vous soyez passés par toutes les étapes assurant sa conception en passant par la réflexion, vous êtes prêts à la mettre en avant (ou à faire tout pour).

Conclusion

Bien, voilà, vous êtes parvenus à la fin de ce long article, vous êtes courageux (et décidé à mettre les moyens pour créer votre application et s’assurer de sa viabilité). Cette liste d’outils, de sites web est encore une fois, exhaustive, et il en existe bien d’autres (par exemple, dans la liste de documents que nous avons réalisés au sein de la communauté de développeurs Windows Phone) Nous avons voulu des outils dans un ordre cohérent afin de voir le cheminement que nous pouvons (devons ?) prendre pour pouvoir construire une application. En espérant que cela vous serve, je vous dis à très bientôt !