Le mirage des applications universelles ?

Si l’on en croit les derniers bruits, Apple pourrait à son tour annoncer la possibilité de développer des applications « universelles ». Le constructeur rejoindrait ainsi Microsoft dans sa volonté de mettre en œuvre une solution sur le papier de développement d’applications fonctionnant à la fois sur iPhone, iPad et MacOS.

Le projet, dont le nom de code serait s’il on en croit le site 9to5Mac et Bloomberg, «Marzipan», devrait être annoncé à la WWDC 2018 en juin prochain et nécessiterai bien entendu les nouvelles versions de MacOS et d’iOS. L’application universelle s’adapterait ainsi à l’appareil sur lequel elle est installée, pour peu que le développeur ait fait le travail d’optimisation, en particulier l’interface Homme Machine, qui bien entendu est très différente d’une machine à une autre, entre une interface tactile d’un iPad ou d’un iPhone et l’écran du Mac, entre les capteurs présents et exploités sur un iPhone et leur absence sur Mac, et sans parler des différentes résolutions d’écran… C’est bien là que le bât blesse…

Mais revenons sur les Applications Universelles de Microsoft et sur quelques définitions et objectifs.

Qu’est qu’une application universelle Windows ?

Une application Windows universelle est formellement une application Windows qui repose sur la plateforme Windows universelle (UWP), introduite pour la première fois avec Windows 8 avec comme idée de base que les utilisateurs souhaitent que leurs expériences soient les plus cohérentes possibles sur tous leurs appareils tout en utilisant l’appareil le plus adapté ou le plus productif pour la tâche qu’ils ont à effectuer.

Mais attention la promesse originelle de Microsoft impliquait que tous ces utilisateurs utilisent des plateformes Windows : Windows 8 ou 10 sur PC ou tablettes d’une part et Windows Phone 8 ou 10 sur leur smartphone. Donc autant dire que l’approche a pris du plomb dans l’aile avec l’abandon de Windows Phone… Reste les tablettes Windows et les PC (qui de toute façon fonctionnait déjà exactement sous le même système d’exploitation…

universal

Avec Windows 10, l’échec de Windows Phone et l’arrivée de nouveaux appareils Windows, Microsoft a fait évoluer son discours qui n’est plus centré sur l’expérience utilisateur mais sur les bénéfices pour les développeurs.

UWP facilite le développement d’applications avec un seul ensemble d’API, un seul package d’application et un seul Store pour l’ensemble des appareils sous Windows 10 : PC, tablettes, Xbox, HoloLens, Surface Hub, Windows for IoT, etc. Un seul SDK permettant de développer pour tous ces matériels dans le langage de son choix. Aucune obligation donc d’utiliser du C# par exemple. Il est possible d’utiliser du JavaScript et de l’HTML par exemple.

Il est donc beaucoup plus cohérent en apparence de cibler les bénéfices pour les développeurs. Mais regardons de plus près tous les arguments utilisés aujourd’hui par Microsoft (où ceux d’Apple demain ?).

Toutes les applications sont disponibles sous le même format dans un magasin d’applications unique : le Store Windows.

Toutes les applications UWP sont distribuées en tant que package AppX. Ce qui fournit un mécanisme d’installation sécurisé et garantit la possibilité de déployer et de mettre à jour les applications de façon transparente. Mais surtout la possibilité d’utiliser un MDM (Mobile Device Manager) pour le faire. C’est en effet une condition pour que l’usage d’un MDM pour l’installation des applications Windows soit possible.

Mais est-ce un véritable plus ? Une réelle obligation ?

Si l’on en croit le nombre d’applications réellement disponible sur le Store, la question se pose. Malgré les incitations très forte de Microsoft sur ces partenaires, ce dernier reste assez clairsemé. L’éditeur à lui-même attendu plus de six ans pour y déposer une partie seulement des ses applications phares tels qu’Office !

Des APIs communes à toutes les appareils… mais quelle est réellement la partie commune à tous ?

Microsoft affirme que les API de la plateforme Windows universelle (UWP) sont les mêmes pour toutes les familles d’appareils Windows. Mais premier bémol, l’éditeur précise que « si l’application utilise uniquement les API principales, elle s’exécute sur tout appareil Windows 10 ». La nuance est de taille : on parle ici des API Principales. Effectivement, comment imaginer une seule seconde que l’ensemble des APIs seraient disponibles sur toutes les plateformes Windows, du simple petit équipement en 32bit sur un objet connecté à celui d’un Surface Hub ?  Les contraintes (mémoire, capteurs, autonomie, etc.) ne sont pas les mêmes et donc dans les faits, le système n’est donc pas le même !

Se sont donc des extensions aux API principales qui sont disponibles sous forme de SDK. Nous sommes donc assez proche pour ne pas dire dans le même bateau que ce que propose déjà Apple ou Google sur ses différentes déclinaisons d’OS, mais nous en reparlerons dans le prochain paragraphe.

Microsoft, Apple et Google : une différence d’approche avec les systèmes d’exploitation.

Amusant de voir à quel point l’approche d’Apple et de Microsoft en particulier est différente sur les systèmes d’exploitation de ses différents systèmes.

Pour Microsoft tout est simple en apparence : Windows, Windows et encore Windows.

Un PC est sous Windows 10, une tablette sous Windows 10, le téléphone (était) sous Windows 10, HoloLens sous Windows 10, Surface Hub sous Windows 10, le système fait pour l’IoT : Windows 10 bien sur ! Sans parler de feu le bracelet connecté de la marque, Microsoft Band …

Alors que ces systèmes sont en réalité assez différents (certains ne sont les mêmes que sur un tout petit morceau de leur noyau) la compagnie insiste sur la cohérence du système et de sa version, gage pour les directions informatiques et les développeurs de gain de temps en matière d’intégration pour les premiers et de développement pour les seconds, même si la réalité est dans les fait tout autre.

Chez Apple c’est rigoureusement l’inverse, même si les systèmes équipant les iPhone s/iPad, l’Apple TV, L’Apple Watch et même le mac sont assez proche et ont une origine commune : la souche UNIX FreeBSD, la société communique sur des systèmes d’exploitation différents : iOS, tvOS, WatchOS et MacOS.

appleGoogle a la même approche qu’Apple avec Android : Android, Android TV, Android for Watch,…

Les applications universelles : réelle avancée ou coup marketing ?

Avouons-le : si Microsoft avait réussi son pari avec sa plateforme mobile Windows Phone, nous ne nous poserions pas la question. Les applications universelles offrant même en apparence le même système et les mêmes applications, dans un Store unique, sur toutes les plateformes Windows serait un véritable plus. Ajouter à ceci la possibilité de développer ces applications dans le langage de son choix constituerai le graal de tous développeurs…

Oui mais… La plateforme mobile de Microsoft brille par son absence et pas de chance, se sont bien les applications mobiles qui drive le marché des développeurs. Tout système confondus, la création applicative sous Android ou iOS surpasse toute création Windows d’un facteur… 1000 si l’on en croit des plateformes de développement type Codecanyon.

Les véritables applications universelles seraient celles qui fonctionneraient de façon identique et se développeraient également de la même façon sur iOS, Android et Web. Et ceci existe partiellement avec des outils de réalisation de Webapps mobiles type Ionic + Angular par exemple, sans qu’elles soient exempte de problème, mais cela c’est un autre sujet que nous développerons dans un prochain article 🙂

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion /  Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur la façon dont les données de vos commentaires sont traitées.