A moins de vivre dans une grotte ou d’avoir été ébloui par la sortie de l’IPhone 5, il est difficile de croire que vous n’ayez pas entendue parler de la future version de Windows sobrement appelée Windows 8.
A cette occasion, Microsoft organisait un tour de France sous la forme d’un labs afin de faire découvrir le développement d’application auprès des développeurs : les dev camps.

Windows 8

Ce nouveau système d’exploitation tranche radicalement avec ses prédécesseurs
Adieu le menu Démarrez, ce dernier laisse place à un écran Démarrez (anciennement appelé Métro).

Chaque application devient accessible via une tile présente dans ce dashboard. On parle de live tile lorsque ces dernières sont dynamiques et affichent des notifications. Un store fait son apparition à l’image de ce que l’on retrouve sur les smartphones.
L’OS est résolu tourné vers la recherche et le partage, les applications peuvent implémenter ces fonctionnalités, le tout s’intégrant dans la charm bar se trouvant sur la droite de l’écran.
Windows 8 tournera sur architecture ARM et Intel. La rétrocompatibilité ne sera possible que sur les modèles Intel.

Langages supportés

Windows 8 permet le développement dans plusieurs langages :
– C/C++/C#/VB.NET et XAML pour la vue.
– JavaScript et HTML pour la vue
En termes de performance, les différents couples langage/vue se valent. Il est difficilement constatable qu’une application ait été réalisée avec telle ou telle langage.
Microsoft souhaite par ce biais attirer le plus de monde possible à développer sur le store.
On voit apparaitre le namespace Windows pour le développement des applications Windows 8.

Principaux aspects des applications

Une application Windows 8 est principalement définit par les points suivants :
– Design Windows 8 (sous peine d’être rejeté par le store)
– Application Asynchrone
– Adaptable à toutes les résolutions, snappable & pinable
– Implémentation des contrats (recherche, partage, …)
– Présence dans le dashboard sous forme de tuile
– Connecté via le live id
– Itinérance via le cloud

Un développement d’application Windows 8 est très similaire à celui d’une application WPF.

Gestion de l’asynchrone via await & async

Afin de faciliter la gestion de l’asynchrone, Microsoft a mis en place dans le framework 4.5 deux nouveaux mots clés : await & async.
Async est à mettre sur la signature de la méthode et indique que la méthode travaille en asynchrone, elle permet d’appeler des méthodes asynchrone avec le mot clé await.
Pas de gestion de thread, pas de gestion de call back.
Un exemple (sans intérêt, le but étant de montrer l’utilisation de await et async)

Implémentation de la recherche

Pour ajouter la recherche dans une application, il faut ajouter un search contract

Un search contract est constitué d’une page xaml et d’une page cs.
Elle contient principalement 2 méthodes :
– LoadState qui permet de renseigner l’état initial de la recherche
– Filter_SelectionChanged qui permet de modifier le résultat de la recherche en fonction de ce qui a été saisie par l’utilisateur

Implémentation du partage

Pour implémenter la fonctionnalité de partage, il suffit dans une page de s’abonner à l’évènement DataRequested

Puis dans la méthode dont la signature est

Il suffira d’enrichir l’objet args.Request via les propriétés Data.Properties (Title, Description, Thumbnail, …) et/ou les méthodes Data.Set (Text, Bitmap, Data,…)

Conclusion

Le développement d’application Windows 8 est relativement simple pour un développeur WPF. Il suffira de prendre connaissance du nouveau namespace Windows. Comme d’habitude, le travail de concert avec Blend facilite le design.
Il est bon de savoir pour qui souhaiterait développer une application sur le store que Microsoft met en place un programme accélérateur mettant à disposition des contacts afin de finaliser et faciliter l’acceptation sur le store (plus d’info ici : http://bit.ly/accelerateurw8 )