Windows Phone 8 Development

25. November 2012 14:11 by Renaud in Windows Phone  //  Tags:   //   Comments (0)

Voici mes quelques notes prises lors de la session Windows Phone 8 Application Development donnée par Maarten Struys (@mstruys) lors du Windows App Day. On y évoque quelques nouveautés liées au développement sous Windows Phone 8.

Tuiles et templates

Avec Windows Phone 8, de nouvelles tuiles sont apparues. Pour faire simple, on a désormais le choix entre :

  • Flip : Les tuiles que l'on connait déjà depuis Windows Phone 7. Avec une face avant et une face arrière et qui se retourne sur elle-même.
  • Iconic : Une nouvelle tuile qui respecte le design Windows Phone. Elle permet de mettre l'accent sur un compteur.
  • Cycle : Cette dernière tuile permet de boucler parmi 9 images différentes.

Allez lire la doc détaillée pour voir des exemples de bonnes et mauvaises utilisations des différents types de tuiles.

Lock screen

Les applications peuvent maintenant s'enregistrer pour enrichir l'écran de verrouillage. Elles peuvent modifier le background lui-même, comme le fait par exemple l'application Bing qui propose chaque jour un nouveau background, ou afficher des notifications. Il y a désormais deux types de notifications :

  • Les statuts détaillés : affiche le texte de la tuile principale de l'application.
  • Les statuts rapides : affiche une icône plus un compteur si celui-ci est implémenté dans la tuile principale de l'application. Ce deuxième type de notification rappelle les badges disponibles sur Windows 8.

Shared Windows Core

En effet, Windows Phone 8 se rapproche plus de Windows 8 que de Windows Phone 7 dans le sens où les deux OS partagent quelques composants bas niveaux. L'ensemble des librairies Windows Phone 8 (appelées WinPRT dans les slides, pour Windows Phone RunTime) consiste en fait en un subset de WinRT auquel ont été ajoutés quelques composants spécifiques au téléphone. Le tout est donc écrit à la base en C++, avec des projections en C#/VB.NET, aussi à la manière de WinRT. Par contre il n'y a pas pour le moment de projections HTML5/JavaScript. Il y a bien un template d'application HTML/JS disponible avec Visual Studio 2012, mais il s'agit d'une application écrite en code managée et qui embarque un WebBrowser et du contenu HTML/JS. Mais cela ne permet pas d'appeler des librairies natives en JavaScript comme on peut le faire pour Windows 8. Si l'on compte développer une application à la fois sur Windows Phone 8 et Windows 8, il serait donc conseillé, d'un point de vue API, de commencer par l'application phone, et la migrer ensuite vers Windows 8 puisque la quasi-totalité du code pourra être réutilisé. Par contre, d'un point de vue UX & Design, il faut clairement faire la différence entre les deux OS. L'interface devra probablement être entièrement repensée. Parmi les APIs spécifiques à Windows Phone 8, on retrouve par exemple ce qui concerne la synthèse et la reconnaissance vocale. Cela fonctionne de la même manière que la reconnaissance vocale avec le SDK Kinect. Il n'est malheureusement pas possible pour le moment d'utiliser la reconnaissance vocale sans donner des "suggestions", comme par exemple ce que permet de faire le téléphone pour rédiger des SMS.

Les outils : VS 2012 + Blend

L'émulateur Windows Phone a bien été amélioré. Il permet de tester quasiment toutes les fonctionnalités du téléphone.

  • Simuler le type de connexion réseau (4G, 3G, WiFi, ...) et la force du signal (fort, faible, ...)
  • Jouer avec l'accéléromètre
  • Modifier la géolocalisation
  • Tester les différentes résolutions d'écran

Malheureusement, ça ne passera plus auprès de votre chef si vous demandez un téléphone de chaque résolution, juste pour pouvoir tester votre app. Il vous dira simplement d'utiliser l'émulateur. Mais comme Maarten le précisait, il reste nécessaire de tester son application sur un vrai téléphone pour au moins deux raisons :

  • Pouvoir tester avec des performances réelles (l'émulateur ne peut pas reproduire les performances du téléphone)
  • Apprécier la véritable expérience utilisateur. Voir comment vos interfaces réagissent au touch.

Quoi d'autre ?

Voilà en bref le contenu de la session de Maarten Struys. C'était une bonne introduction, même si évidemment ça ne couvre qu'une toute petite partie des nouveautés de Windows Phone 8. J'imagine qu'on peut s'attendre à en voir davantage au TechDays 2013 ! En attendant, on organise des trainings Discovery : Windows Phone 8 au MIC Belgique le 22 janvier 2013 et le 05 février 2013 pour apprendre les bases de la programmation Windows Phone ! :)

Retour sur le Windows App Day 2012

25. November 2012 14:11 by Renaud in   //  Tags:   //   Comments (0)

Petit retour sur le Windows App Day, cette journée organisée par Microsoft et destinées aux développeurs et graphistes initiés ou non. En effet, il s'agissait d'une série de sessions de 1h chacune, réparties sur deux tracks : Developer et UX & Designer. Pour l'ouverture, nous avons pu voir tour à tour Luc Van de Velde (Director Developer & Platform group) et Katrien De Graeve, David Hernie et Nick Trogh (tous trois Technical Evangelist) parler de la direction prise par Microsoft en nous présentant quelques success stories et témoignages de développeurs. Le ton est donné : on va parler Windows 8, Windows Phone 8 et Windows Azure ! :) Mais juste après un petit break...

Pour les sessions suivantes, l'audience se sépare en deux. On a eu droit à quelques sessions intéressantes dont je vais vous faire le résumé. Je n'ai suivi que la partie Developer, donc je ne pourrai malheureusement pas parler du reste. Mais d'après les quelques échos que j'ai eu sur le moment, les sessions UX & Design valaient vraiment la peine d'être vues ! Windows Phone 8 Development by Maarten Struys

> Lire l'article Windows Phone 8 Development

Windows Azure Mobile Services, Connecting Cross Platform Devices by Kristof Rennen

> Lire l'article Windows Azure Mobile Services : intro

From Slider to Gauge: building WinRT custom controls by Diederik Krols

Cette session montrait différentes manières de créer un contrôle custom, soit à partir d'un contrôle existant, soit from scratch.

What it takes to make Mine for Facebook : learn and apply to your next Windows Store app by Kevin Dockx

Cette dernière partie était une série de conseils du développeur de l'application Mine for Facebook (que vous devriez d'ailleurs essayer ;) ). C'était un excellent retour d'expérience pour terminer cette journée. Kevin nous suggérait entre autres de trouver un ami graphiste ("on ne laisse pas les graphistes développer, et on ne devrait sans doute pas laisser les développeurs faire du design"). Il nous a ainsi montré l'évolution de son application, depuis son premier essai jusqu'au rendu final, en expliquant les apports du graphiste au projet.

Il est ensuite rentré dans des conseils plus techniques, comme par exemple :

  • N'utiliser que des librairies tierces qui ont fait leurs preuves. Vous n'avez pas envie de voir votre projet "cassé" à cause d'une librairie qui n'est plus mise à jour.
  • Lorsque l'on travaille en asynchrone, penser à annuler les tâches toujours en cours mais plus nécessaires grâce à des CancellationToken.
  • Consumer/Producer pattern et BlockingCollection pour pré-fetcher des données et apporter une meilleure expérience utilisateur. La perception est plus forte que la réalité.  Et peu importe combien votre application est performante, ce qui compte c'est l'impression finale qu'aura l'utilisateur !
  • Utiliser un outil d'analytics pour loguer les erreurs mais aussi analyser le comportement des utilisateurs. Suggestion : MarkedUp.

En résumé, la journée a été bonne et enrichissante. À refaire sans hésiter :)

TextBox

About the author

I'm a developer, blog writer, and author, mainly focused on Microsoft technologies (but not only Smile). I'm Microsoft MVP Client Development since July 2013.

Microsoft Certified Professional

I'm currently working as an IT Evangelist with an awesome team at the Microsoft Innovation Center Belgique, where I spend time and energy helping people to develop their projects. I also give training to enthusiastic developers and organize afterworks with the help of the Belgian community.

MIC Belgique

Take a look at my first book (french only): Développez en HTML 5 pour Windows 8

Développez en HTML5 pour Windows 8

Membre de l'association Fier d'être développeur

TextBox

Month List