Qu’est ce qu’une application UWP ?

WP est l’acronyme de Universal Windows Platform. Ce sigle fait référence à une architecture mise à disposition par Microsoft pour faciliter le déploiement d’une application sur son écosystème. Dans cet article l’utilisation du sigle UWA, pour Universal Windows Application, fait référence aux applications développées avec l’architecture UWP.

Une application UWP peut être exécutée sur un périphérique pouvant utiliser les systèmes d’exploitation suivants : Windows 10, Windows IoT, OS de la Xbox One ou le feu Windows Phone. Une UWA se caractérise par :

  • L’utilisation du SDK Windows 10 pour le développement.
  • Le ciblage d’un ensemble de famille d’appareils (tablette, IoT, PC, console …)
  • Distribution de l’application en tant que package Appx (distribuable sur le store Microsoft)

Outils et compétences techniques pour développer une application UWP

Les applications UWP offrent la possibilité d’utiliser différents langages dans le développement d’une application, que ce soit au niveau de l’interface utilisateur ou de la logique applicative. Le tableau ci-dessous montre les paires UI/Logique applicatives pour le développement d’une application :

UI Logique applicative
XAML C#
DirectX C++
HTML5, CSS3 JavaScript

Il est intéressant de voir qu’avec des compétences dans le développement d’applications réalisées avec Xamarin ou WPF, il est simple de faire une application UWP en C#. On peut aussi remarquer qu’avec des compétences en Web on peut facilement réaliser une UWA.

Pour l’IDE, la version 2015 de Visual Studio est obligatoire avec le SDK Windows 10 installé. Concernant la machine de développement, il est facilement déductible qu’un OS Windows 10 est obligatoire.

Appareils cibles

Avec les évolutions technologiques (hardware et software), développer une application pour un ensemble de périphériques différents devient difficile. Grâce à son écosystème Windows 10, Microsoft permet de s’affranchir de diverses problématiques pour la création d’une application qui doit s’exécuter sur une tablette, un ordinateur ou une console par exemple. Grâce aux UWA, un seul package devra être généré pour s’exécuter sur un ensemble de périphériques. Au vu de la diversité des périphériques pouvant être ciblés par une UWA, l’approche « Mobile fisrt » est préconisée pour la conception des interfaces utilisateur, sachant que la taille des écrans peut aller jusqu’à 84 pouces (Surface Hub). Il est effectivement plus facile avec les UWA de prendre en charge plusieurs tailles d’écran et plusieurs modèles d’interaction. Pour interagir avec l’application, l’utilisateur peut utiliser la fonctionnalité tactile de son écran, un clavier et une souris, une manette de jeu ou un stylet. Une application se reposant sur l’architecture UWP n’est pas une application Crossplatform, qui s’exécute sur plusieurs OS. Si tel est le besoin, il faut alors se tourner vers Xamarin (dans Visual Studio) qui permettra le développement de ces applications multi OS.

Gestion des données dans une UWA

Une UWA possède deux principaux types de stockage de données : les données locales et les données externes. Les données locales sont stockées sur le périphérique où l’application est installée. Les données sont stockées dans un répertoire qui est propre à l’application, et seule l’application a accès au contenu de ce répertoire. Quand l’application est désinstallée, toutes les données stockées par l’application dans son dossier seront supprimées. Contrairement aux données locales, les données externes ne dépendent pas du périphérique où l’application est installée. Ces données sont généralement accessibles par des WebService ou des APIs. Ceci implique que le périphérique soit connecté à un réseau. Les UWA permettent de gérer les modes connectés et non connectés en mettant à disposition des APIs qui facilitent la gestion des flux entre l’application et ses données. Par exemple :

Déploiement d’une application UWP

Le déploiement d’une application est l’une des phases les plus importantes : il s’agit de mettre l’application à disposition de ses utilisateurs. Le mode de déploiement dépendra des utilisateurs cibles. Une application UWP peut-être destinée au plus grand nombre ou à un nombre restreint de personnes. Il existe pour cela différents types de déploiement d’une application UWP :

  • Side Loading : permet de déployer une application UWP dans un périphérique sans passer par le Windows Store
  • Windows Store : rend l’application UWP disponible dans le Store de Windows 10. L’application est visible pour tout le monde.
  • Windows Store Enreprise : permet de rendre une application UWP disponible pour vos employés. En savoir plus

Conclusion

Avant de choisir de développer une application en UWP, vous devez être certain que l’application s’exécutera sur une plateforme Windows 10. Comme nous l’avons vu, les applications UWP présentent bien des avantages, comme par exemple :

  • Le déploiement d’une seule application vers toutes les familles d’appareils.
  • Un gain de temps de développement considérable grâce à des APIs fournies par la plateforme Windows Universelle.
  • La possibilité de développer une application qui offre la même expérience utilisateur, quel que soit le type d’appareils ciblés.

Cependant, le fait que les applications UWP ne fonctionnent que sous environnement Windows 10 représente une contrainte majeure à prendre en compte avant de choisir cette technologie.

Plus d’articles :

Comment bien gérer ses variables ?

Comment bien gérer ses variables ?

Rappel de définition Une variable est une allocation mémoire servant à stocker une valeur qui sera utile à la bonne exécution du programme. Les variables sont l’un des éléments les plus fondamentaux d’un programme. Il n’est pas rare de voir dans un programme des...