Gérer le cycle de vie de votre application Windows 8

app-lifecycle

Le mode de cycle de vie des applications Windows 8 permet à l’utilisateur de lancer plusieurs applications et de passer de l’une à l’autre sans avoir à se soucier des performances du système d’exploitation ou de la consomation de la batterie. Cela est dû au fait que le système suspend ou arrête seul les applications qui s’exécutent en arrière plan. Ainsi, les applications s’exécutant au premier plan sont assurées de bénéficier d’un maximum de ressources machine.

Dans l’article suivant, je vous présente la gestion du cycle de vie des applications Windows Store afin de créer une meilleure expérience utilisateur en veillant à ce que vos applications puissent se mettre en suspend, s’arrêter et se relancer tout en donnant l’impression à l’utilisateur qu’elles n’ont jamais cessé de fonctionner.

http://www.jonathanpamphile.com/windows8-application-lifecycle

Présentation du Windows Store

windows_store_other_applications

Qu’est-ce que le Windows Store ?

Le Windows Store est la plateforme unique à laquelle tous les utilisateurs de Windows 8 ont accès pour télécharger des applications au style Modern UI. Grace à lui, Microsoft a la possibilité de contrôler et valider chaque application avant qu’elle ne soit mise à disposition des utilisateurs de Windows 8, et ainsi en garantir la qualité. Les applications présentent y sont réparties par catégories.

Les applications présentent sur le Windows Store sont soit gratuites, soit payantes. Pour chaque application payante, le développeur peut activer un mode d’évalutation. La période d’évaluation peut-être limitée dans le temps ou non, afin de brider les fonctionnalités de l’application et d’encourager l’utilisateur à acheter la version complète.

Le Windows Store est la seule plateforme où l’on peut télécharger des applications Modern UI, mais il ne s’y limite pas. En effet, on peut également y trouver des application de bureau, qui ne peuvent être soumises qu’à condition qu’elles respectent un ensemble de règles définies par Microsoft. Cependant, contrairement aux applications Moder UI, les applications de bureau ne peuvent pas être téléchargées directement depuis le Windows Store. Ce dernier les met en avant, et l’utilisateur est redirigé vers le site de l’éditeur afin de la récupérer.

Le contrôle des applications par Microsoft

Une fois une application soumise sur le Windows Store, elle est contrôlée avant d’être autorisée au téléchargement ou à la vente. Ce contrôle, effectué par les équipes de Microsoft, vérifie que cette dernière respecte bien les règles définies par Microsoft, qu’elle est fonctionnelle, sécurisée et fiable pour l’utilisateur. Ce test la validera alors techniquement, certifiera qu’elle ne contient pas de virus et en validera le contenu.

Création de vote compte sur le Windows Store

Pour commencer, il vous faut vous rendre sur le site « Dev Center » de Microsoft (http://msdn.microsoft.com/en-us/windows/apps). Vous pourrez alors créer votre compte Windows Store. Il en existe deux types, à savoir les comptes individuels et les comptes d’entreprises. A noter que les comptes d’entreprises sont les seuls à pouvoir soumettre une application de bureau ou une application utilisant les fonctionnalités à usage spécial.

Publier votre application

Pour publier votre application, après vous être connecté, cliquez sur le bouton « Submit an app ». Vous aurez alors un ensemble d’étapes à suivre, à commencer par la réservation du nom de votre application, suivie de sa description et de son envoi aux équipes de Microsoft afin qu’elles la testent et vous la valident.

Dans un prochain post, je vous présenterai en détail les différentes étapes de la publication de ma première application Windows Store.

Les données d’applications : les fichiers XML et le Roaming

IC582483En développant vos applications, vous serez probablement ammenés à effectuer des sauvegardes locales de certaines données. Je vais donc vous donner une petite astuce pour sauvegarder et restaurer simplement certains de vos objets métiers.

Prenons le cas d’une application permettant de réaliser des listes de courses. Vos listes contiennent des informations telles qu’un nom, un magasin et la liste des article que vous souhaitez acheter. Voici donc comment, en quelques lignes, sauvegarder et recharger vos données en utilisant un répertoire local ou votre répertoire d’itinérance.

Sauvegarde par sérialisation dans un fichier XML

Le code ci-après vous permet d’aficher une fenêtre de sélection pour choisir le nom du fichier ainsi que l’endroit ou nous allons le stocker. Ensuite, nous générerons le fichier XML représantant une liste de listes de courses.

SaveToXml

Le principe est simple, les données sont sérialisées et injectées dans le fichier que vous aurez choisi.

ChoseSaveFile

Le fichier suivant est alors généré.

SauvegardeXML

L’itinérance (ou Roaming)

Avec Windows 8, vos ordinateurs ou périphériques peuvent fonctionner en se servant des mêmes données sans que vous aillez à vous soucier de la synchronisation entre eux et cela grâce à la mise en place d’un système de Roaming (ou Itinérance) par Microsoft.

Pour l’utiliser, il vous suffit d’ouvrir votre sessions sur vos devices ou ordinateurs à l’aide d’un compte Windows Live. Votre compte possède un espace de stockage sur le cloud qui sera utilisé par les applications Modern UI pour synchroniser leurs données entre vos devices. La synchronisation est totalement transparente et par conséquent vous n’avez plus à vous en soucier.

Sauvegarde dans votre répertoire d’Itinérance (RoamingFolder)

Le dossier RoamingFolder permet de stocker des fichiers ou dossiers propres à une application et un utilisateur. En reprenant l’exemple d’application vu précédemment, nous allons à présent effectuer la sauvegarde automatiquement dans ce répertoire, sans que l’utilisateur n’ait à choisir le répertoire et le nom du fichier de sortie :

SaveToXmlInRoamingfolder

Chargement de notre sauvegarde

Lorsque vous aurez besoin de charger la sauvegarde que vous aurez effectuéee, comme par exemple au lancement de votre application, utilisez le code suivant qui se chargera d’aller chercher dans le répertoire d’itinérance de votre application le fichier « ListsFile.xml » correspondant à la sauvegarde de vos listes de courses.

LoadXMLFile

C’est e prncipe de la désérialisation, qui transforme votre fichier XML en une liste de listes de courses.

ImageViewer Moder UI

Dans ce post, nous allons créer une application ImageViewer. Celle-ci affichera les images que vous possédez dans votre bibliothèque d’image (votre dossier « Mes Images »). Pour cela, ouvrez Visual Studio, et sur la page d’accueil cliquez sur « New Project » ou allez dans « File » à « New » à « Project ». Créez alors un nouveau projet de type « Blank App » dans la rubrique « Windows Metro Style ».

La première chose à faire est d’autoriser votre application d’accéder à votre répertoire « Mes Images ». Si vous ne le faites pas, vous obtiendrez le message d’erreur suivant.

En effet, la politique de sécurité de Windows 8 vous interdit par défaut l’accès à votre bibliothèque d’image. Dans l’explorateur de solution, double-cliquez sur le fichier « Package.appxmanifest ». Allez ensuite sur l’onglet « Capacités », cochez la case correspondant à « Accéder à la bibliothèque d’images » et sauvegardez le fichier.

Ajoutez une nouvelle classe « ImageItem » à la solution. Pour chacune des images de la bibliothèque, on en instanciera une qui contiendra son nom, son chemin et une petite description.

Dans le fichier MainPage.xaml, ajoutez une GridView.

Allez ensuite dans le fichier MainPage.xaml.cs, et créez une méthode « InitializeGrid » qui remplira la GridView avec les images présentes dans votre dossier « Mes Images ».

Lancez alors l’application. S’il existe des images dans votre répertoire « Mes Images », vous obtiendrez alors l’affichage suivant.

Dans le cas où aucune image n’est trouvée dans ce répertoire, vous obtiendrez le message suivant.

La déclaration des fonctionnalité de votre application

Pour accéder aux ressources utilisateur ou aux périphériques connectés, il faut déclarer les fonctionnalités des applications Windows 8. Cette étape est requise si vous souhaitez publier votre application sur le Windows Store. En effet, quand vous soumettez votre application, elle fait tout d’abord l’objet d’un contrôle afin de s’assurer que les fonctionnalités que vous avez déclarées correspondent à la description que vous en avez faite, et avant toute installation, ces dernières seront notifiées à l’utilisateur qui souhaitera la télécharger.

La déclaration se fait en éditant le fichier « Package.appxmanifest » (manifeste de package) de votre projet. Sous Visual Studio, dans l’explorateur de solution de votre projet, double-cliquez sur le fichier « Package.appxmanifest ». Allez ensuite sur l’onglet « Capacités », cochez les cases correspondant aux fonctionnalités que vous souhaitez déclarer et sauvegardez le fichier.

Il existe deux types de fonctionnalités à déclarer dans le manifeste de package : les fonctionnalités à usage général, qui sont celles qui s’appliquent à la majorité des cas d’utilisations dans le cadre des applications de style Modern UI, et celles à usage spécial qui sont destinées à des scénarios très spécifiques. L’utilisation des fonctionnalités à usage spécial est très limitée et sujette à des contrôles complémentaires dans le cadre du déploiement sur le Windows Store.

Les fonctionnalités à usage général proposent l’accès à l’audiothèque, à la bibliothèque d’image, à la vidéothèque, aux stockages amovibles, au microphone, à la webcam, à la localisation, aux fonctionnalités de proximité, aux connexions internet et aux réseaux domestiques ou d’entreprise. Celles à usage spécial, quand à elles, donnent accès à la bibliothèque de documents, à l’authentification en entreprise et à l’utilisation de certificats utilisateurs partagés.

Hello World Modern UI

Dans cette partie, nous allons créer une application Hello World. Nous aurons un bouton au centre de l’écran. En cliquant dessus, le message « Hello world ! » s’affichera via une MessageBox et à la validation par l’utilisateur, on quittera l’application.

Pour commencer, lancez Visual Studio. Créez un nouveau projet soit depuis la page d’accueil en cliquant sur « New Project » ou en allant dans « File » → « New » → « Project ». Créez alors un nouveau projet de type « Blank App » dans la rubrique « Windows Metro Style ».

Une fois votre projet créé, ouvrez le fichier MainPage.xaml. Rajoutez-y le bouton comme suit :

Ouvrez ensuite le fichier MainPage.xaml.cs pour créer l’action liée au click sur le bouton :

Ca y est, votre Hello World Modern UI est terminé, vous pouvez alors l’exécuter :

Obtenir une licence développeur Windows 8

Une licence de développeur pour Windows 8 vous permet d’installer, de développer, de tester et d’évaluer des applications du Windows Store avant qu’elle ne soit testées et validées par Microsoft. Ces licences sont gratuites. Vous pouvez en obtenir autant que nécessaire dès lors que vous possédez un compte Windows Live.

A la création de votre premier projet d’application Windows 8, Visual Studio vous demandera une licence de développeur Windows 8. Dans cet article, je vais vous expliquer la procédure à suivre pour en avoir une.

Pour commencer, lancez Visual Studio 2012.

Une fois sur la page d’accueil, cliquez sur « New Project » ou allez dans « File » → « New » → « Project ». Créez alors un nouveau projet de type « Blank App » dans la rubrique « Windows Metro Style ».

Un message s’affiche, vous proposant d’obtenir une licence temporaire de développeur. Cliquez sur « J’accepte » et connectez-vous avec votre compte Live afin de l’obtenir.

Une fois la procédure terminée, vous obtiendrez une confirmation avec la durée de validité de votre licence de développeur Windows 8. Vous voilà alors prêt à créer votre première application !

La sécurité sur Windows 8

Ce tout dernier système s’exploitation de Microsoft est annoncé comme étant plus sûr, plus sécurisé. Par défaut, il intègre, en plus du traditionnel parre-feu (présent depuis Windows XP), un anti-spyware (comme depuis Windows Vista) et comme grande nouveauté un antivirus.

Dans le cas ou l’utilisateur n’a pas installé d’antivirus, celui par défaut prend automatiquement le relais. Cependant, ce dernier ne sera pas mis à jour aussi souvent qu’un antivirus payant que l’utilisateur pourrait installer.

Le Windows Store pour Windows 8

Le Windows Store est un élément clé de Windows 8. Il fait son apparition sur cette dernière version du système d’exploitation, et permet à l’utilisateur de télécharger, installer et mettre à jour des applications d’un simple clique (ou simple touch), qui sera gratuite ou non selon l’application. Le WIndows Store s’inspire des différents markets que l’on retrouve sur les tablettes ou smartphones.

De plus, grâce à lui, Microsoft a la possibilité de contrôler et valider chaque application avant qu’elle ne soit mise à disposition des utilisateurs de Windows 8, et ainsi en garantir la qualité.

Le support des processeurs ARM

Windows 8 est compatible avec les architectures habituelles des ordinateurs (Intel, AMD), mais il supporte aussi l’architecture ARM.

Ainsi, vous pouvez utiliser Windows 8 sur votre PC, mais aussi sur vos tablettes tactiles grave à Windows RT, que l’on pourrait qualifier de version allégée de Windows 8.

Cette version allégée de Windows vous donnera accès à l’interface Modern UI et à un certain nombre d’applications, mais du fait de son optimisation pour les tablettes, son utilisation sera tout de même limitée par rapport à Windows 8.