Créer des applications pour Windows Phone utilisant Windows Azure

Windows Phone fournit de nombreuses opportunités aux développeurs pour construire des applications extraordinaires.  Néanmoins, dans certains cas, un développeur est limité par les caractéristiques  spécifiques à sa plateforme mobile – vitesse de traitement des données, la vie de la batterie, un stockage limité, et la connectivité intermittente. Par conséquent, il est important de lier la plateforme mobile à des services externes à l’appareil, idéalement capable de fournir beaucoup de puissance, un stockage extensible, et une connectivité omniprésente. Et bien, entrez dans le monde du cloud computing avec Windows Azure !

D’une certaine manière, le cloud computing permet aux applications mobiles d’avoir accès à des ressources virtuellement infinies. Pour les développeurs, Windows Azure est donc le compagnon idéal pour leurs applications mobiles. Windows Azure vous permet de vous concentrer sur votre application sans devoir vous soucier de la compatibilité hardware, surtout s’il s’agit d’une application multiplateforme qui demande des ressources différentes selon l’appareil que vous utilisez.

Pour faciliter le travail des développeurs Windows Phone nous avons créé le Toolkit Windows Azure pour windows Phone. Ce toolkit fournit un ensemble de projets pour Visual Studio qui serviront d’exemples pour vous donner une longueur d’avance pour l’intégration de Windows Phone avec Windows Azure. Le toolkit contient également des librairies, applications exemples et de la documentation.

Depuis peu la version 1.3 du toolkit est disponible. Voici quelques-unes des nouveautés proposés :

  • Support de SQL Azure en tant que fournisseur d’adhésion.
  • Support de SQL Azure en tant que source de données pour OData.
  • Mises à jour de Windows Azure Tools for Visual Studio 1.4 et de Windows Phone Developer Tools 7.1 RC.
  • Mise à niveau de l’application web ASP.NET MVC 3.
  • Disponibilité du code source entier de BabelFish disponible sur le Windows Phone Marketplace.

 

Pour démarrer visitez Windows Azure Toolkit for Windows Phone sur CodePlex. Vous pouvez regarder la source en ligne mais je vous conseille de télécharger l’exécutable afin d’obtenir une extension pour Visual Studio qui contient les templates de projets et un vérificateur de dépendances afin de vérifier que vous avez tous les outils nécessaires au développement.

Une fois installé vous aurez deux nouveaux templates dans la catégorie « Cloud » : Windows Phone Cloud Application et Windows Phone Empty Cloud Application.

Créez un nouveau Windows Phone Cloud Application. Ceci lancera un wizard qui vous demandera les informations nécessaires pour faire fonctionner vos applications avec les services Azure.

Choisissez Windows Azure Storage et SQL Azure Database, de cette manière vous pouvez essayer tous les services Azure. Tout comme Windows phone qui fournit un émulateur pour le développement, Windows Azure en fournit un pour simuler les applications dans le cloud. Par conséquent, à l’étape d’après, choisissez Use Storage Emulator (vous pouvez changer cette option ultérieurement). De même, pour SQL Azure choisissez Use local SQL Server instance.

Une des merveilles de ce toolkit est le support intégré pour le service de notifications push de Microsoft (MPNS). Sans même avoir à écrire une ligne de code vous pouvez héberger votre service MPNS sur Windows Azure, toujours connecté à votre application.

Dans la dernière étape vous pouvez choisir comment vous voulez gérer l’authentification de vos utilisateurs ; Le toolkit vous fournit deux types de gestion d’utilisateurs. Un simple stockage d’adhésion ASP.NET (sous forme utilisateur-mot de passe) ou l’Access Control Service (ACS). ACS est un service de Windows Azure qui vous permet de puiser dans des fournisseurs d’identités existants comme Live ID, Google, Yahoo et Facebook. En fait même des identités en entreprise sont supportées à travers l’ADFS. Le toolkit rend l’utilisation d’ACS extrêmement facile. Non seulement il collectera les informations nécessaires à son utilisation mais il contactera également le gestionnaire ACS pour tout mettre en place automatiquement.

Une fois que le wizard terminé, votre démonstration est prête. Appuyez sur F5 pour rafraîchir l’application et découvrir votre page login.

Note : Afin d’utiliser les services REST à travers une connexion HTTPS sur un téléphone ou dans l’émulateur Windows Phone vous aurez besoin d’un certificat SSL valide. Vous n’avez pas besoin d’en acheter un car vous pouvez également utiliser un certificat signé par vous-même. Vous allez devoir l’installer sur le téléphone avant l’utilisation des services. Puisque l’émulateur utilise toujours le certificat auto-signé 127.0.0.1, vous devez également l’installer dans l’émulateur avant de continuer.

Une fois le login effectué vous pouvez commencer à essayer les différents aspects du toolkit. Il y en a cinq à explorer :

  • Les notifications Push.
  • Les tables Windows Azure.
  • Les BLOBs Windows Azure.
  • Les queues Windows Azure.
  • SQL Azure

Pour rendre le test des notifications push très facile et vous donner une démonstration de comment ajouter un canal de notification, le stocker dans les tables Azure et l’envoyer sur un téléphone, nous avons également inclus une application web simple dont vous pouvez vous servir pour envoyer des notifications au téléphone. N’oubliez pas d’allumer des notifications sur le téléphone !

Ensuite faites un login sur la page de l’application web qui fait fonctionner le Windows Azure compute emulator (le login admin est dans la documentation) et choisissez le tab Microsoft Push notifications. Vous devriez voir un canal établi pour votre compte utilisateur sur le téléphone. Écrivez un message et appuyez sur Send Raw.

De retour sur l’émulateur vous allez voir que l’application a reçu un message du MPNS. Essayez-le également pour les notifications toast et tile!

Il s’agit ici d’une simple application test. La valeur de cette démonstration est qu’elle inclut tous les éléments nécessaires pour ajouter les notifications push à votre propre application.

Il y a bien sûr encore plus de possibilités. Essayez par exemple de créer et enlever des tables, entrer des lignes de data, mettre en ligne des images de la camera du téléphone en utilisant le stockage BLOB, mettre en queue des messages puis les enlever et montrer des données Read-Only dans SQL Azure !

C’est ainsi que vous allez découvrir la vraie puissance de Windows Azure et Windows Phone.