Je l’avoue, ce titre est un brin provocateur, et pourtant ! Les applications universelles UWP semblent de moins en moins être mises en avant par Microsoft depuis l'arrêt des Windows Phone et cela ne va probablement pas s’arranger… Je me posais déjà la question en octobre dernier sur l'avenir des UWP. Quelques mois plus tard, plusieurs signes semblent montrer un retrait progressif de la mise en avant de cette technologie par Microsoft.
Si vous êtes développeur et utilisez Xamarin.forms, qui pour rappel est désormais édité par Microsoft, vous avez peut-être remarqué des changements au niveau de la prise en charge UWP au travers des versions. Comme le mentionne dotMorten sur Twitter, Microsoft semble de moins en moins mettre en avant cette technologie au sein de son logiciel de création. De nombreuses nouvelles fonctionnalités ne fonctionnent plus sur UWP. De plus, Visual Studio 2019 ne permet plus de créer une app mobile UWP depuis l’interface de sélection de templates.
Really concerned how the Xamarin.Forms teams is dropping UWP support left and right. Lots of new features won't work on UWP, and in VS2019 you don't even get to create a UWP target using the project templates: pic.twitter.com/m787z93KYA
— Morten Nielsen (@dotMorten) 26 mars 2019
Beaucoup de développeurs pensent donc que Microsoft est en train de mettre à la poubelle cette technologie… Cela semble tout de même assez déroutant, d’autant plus que Windows Core OS était censé utilisé UWP d’après les dernières rumeurs… Comme Jérome de DriversCloud me le disait dernièrement, peut-être que Microsoft veut mettre plus en valeur .net Core qui semble percer chez les développeurs contrairement à UWP. Si vous êtes développeur, quel est votre ressenti sur l’avenir de UWP ?
Merci à Jérôme pour le partage !
Une question sur Windows 10 ?
28 commentaires
Il me semble que les esprits s'envolent très vites. Dans l'exemple photo donné, on remarque qu'un logiciel en version preview ne nous donne plus d'avoir directement la possibilité sous Xamarin forms de la plateforme UWP. Etant donné:
1) que la plateforme de nos chers smartphones n'est plus dans l'avenir immédiat d'actualité pourquoi mettre un choix qui n'est plus existant?
2) Rien ne vous interdit de continuer comme au début de Xamarin de rajouter manuellement un projet pour UWP. (voir notice Xamarin forms).
Le titre est très mal choisis et est d'un effet de bombe. Oui la plateforme UWP est retiré du monde de programmation mobiles car n'existe plus en fabrication de nouveaux smartphones sous l'environnement windows 10 MOBILE.
Ensuite ms a déjà réécrit une bonne partie des applications Windows 10 en UWP et je crois que le menu démarrer lui même est en XAML. Enfin le nouveau Windows core est censé l'utiliser massivement. Il se transformera surement mais je doute fort qu'il disparaîtra.
Par plusieurs sources internes chez Microsoft,j'ai entendu plusieurs fois la même chose. Cette idée a été reporté récemment par Zac Bowden autour de propos de Dave Cutler.
Microsoft a pour objectif depuis déjà quelques années de séparer le matériel, l'os , la plateforme applicative et l'interface en couches qui évolueraient indépendamment.
Actuellement Windows est totalement bridé par Win32. Je ne pense pas qu'ils referont la même erreur d'intégrer totalement UWP dans l'os. Mais c'est déjà plus ou moins le cas. Les applications UWP sont déjà isolées du système. Le système de projection des api avec du métadata IDL crée cette séparation structurelle.
Pour moi l'idée ce n'est pas de remplacer Win32 par une autre techno et dix ans plus tard de retrouver les mêmes problèmes, mais de les mettre tous au même niveau(Win32/.Net/UWP/PWA/Applis Linux). Pour gérer les dépendances au sein de windows core ce sera beaucoup plus simple. Les informations qu'on possède pour le moment parle bien d'un gros travail de modularisation sur l'os.
Pour UWP il semble qu'il pourrait évoluer avec un remplacement à terme du Windows Runtime la base de ce framework par XLang. XLang est multi-plateforme. C'est le cas aussi de MSIX la nouvelle technologie d'installeur en conteneur qui devrait remplacer MSI et APPX.
Si vous avez suivi les propos de Nadella sur le cloud et le multi-plateforme et au vu de ses informations, on peut sérieusement se demander si Microsoft ne voudrait pas créer une sorte d'os universel...
"Microsoft a pour objectif depuis déjà quelques années de séparer le matériel, l'os , la plateforme applicative et l'interface en couches qui évolueraient indépendamment."
https://twitter.com/gus33000/status/1114090580693397504
ça se confirme Visiblement core os a séparé l'os les apps et les drivers. pour l'interface y a cshell qui est modulaire.
.Net Core, c’est du multi plateforme pour Windows 10, Linux, OS X
UWP, c’est le multi device sous Windows 10
Win32, c’est le One device sous Windows x/10
Par conséquent, ces plateformes ne peuvent pas être en compétition, elles ne font pas la même chose et surtout, elles n’ont pas du tout les mêmes performances et .Net Core est bien trop loin du système pour rivaliser avec Win32/UWP
Oui sans doute que MS a le désir de créer une multitude d’étage logiciel pour satisfaire les développeurs , mais ils y a quand même des limites
Aujourd’hui pour afficher une fenêtre en XAML par exemple sous Windows, il faut une seule ligne de code, en Win32 il en faut 20…
Tu rajoute un traitement plus ou moins complexe et la différence de performance se compte en seconde. C’est ça l’avenir, créer des app/prog très facilement en deux clic, mais sans aucune performance... je ne pense pas
Quand je vois que pour .Net Core, MS intègre petit à petit toutes les technos qui ont fait le succès du dev sous Windows (Winforms, etc) au sein de .Net Core… effectivement, c’est très bien pour des apps boutonnées, mais pour des choses plus lourdes (gaming, …), c’est next
J’ai surtout l’impression qu’il se dessine lentement mais surement un Windows light open source, que MS contrôlera via ses différentes plateformes logicielles propriétaires incontournables
Le prochain Windows One Core OS ira dans cette direction pendant que Windows UWP/Win32 suivra son chemin, jusqu’à une éventuelle transition suivant le succès ou non de Core OS…
Mais ce n’est pas pour demain, c’est une certitude
Et pour avoir une compatibilité un peu près complète ils n'ont pas fait mieux que windows core server et ses 1Go depuis. Je ne parle pas de nano server ou ils manquent trop d'api.
Personnellement je pense à une architecture précise. Azure sphere a commencé à le faire mais ce n'est pas le seul os dans ce cas. Si on lit un peu certains papiers de chercheurs il existe des tendances qui reviennent.
L'idée pourrait être d'avoir une base minimale mais qui ne contient pas la plateforme applicative(bibliothèque d'api uniquement) comme actuellement. La plateforme tournerait dans des conteneurs sous forme d'unikernel https://fr.wikipedia.org/wiki/Unikernel) . Azure sphere est parti sur ce principe(pas d'unikernel mais des conteneurs et un noyau linux léger). On peut imaginer un os universel qui pourrait ainsi gérer différents plateformes dans les conteneurs. Il y aurait une nette séparation ce qui faciliterait le travail de maintenance de l'os. Il ne faut pas oublier que le problème numéro un de windows depuis des années c'est la compatibilité qui l'empêche d'évoluer radicalement. Et à cause de ces problèmes de dépendances et du trop gros poids de windows ça lui a coûté plusieurs échecs sur les dix dernières années...
Effectivement et MS parviendra sans aucun doute à créer son nouveau système concurrent de notre Windows classique, c'est juste une question de temps...
Mais en attendant, on commence vraiment à s’y perdre avec toutes ces technos anciennes, actuelles, à venir, en beta, en test, en gestation, …
Et développer sous Windows aujourd’hui est un véritable parcours du combattant pour un dev qui débute
Il y a quelques années pour coder sous Windows, on prenait simplement les bouquins du magicien de la programmation en Win32, WF… de Charles Petzold et 6 mois après, on était capable de faire des trucs extraordinaires en comprenant parfaitement le fonctionnement du système
Aujourd’hui et c’est un comble, on passe plus de temps à choisir la bonne méthode de développement qu’à développer et on ne comprend plus rien aux systèmes
Il faudrait quand même que Microsoft s’arrête sur un truc, ça arrangerait tout le monde
Autant je suis d'accord avec la majeure partie de ton commentaire autant sur la partie Win32 pas du tout. S'il y a bien un truc qui est hyper mal documenté et réservé seulement à une élite, c'était ça.
Pardon ???
Il y a profusion de documentation sur Win32
A commencer par le MSDN ou chaque fonction de l'API Win32 est entièrement décortiquée, expliquée et documentée
Tu rajoutes à ça la très très très très nombreuse littérature, les millions de sources sur Internet, les très nombreux exemples fournis dans les différents EDI et la très grosse communauté, ...
On est pas mal non, que faudrait il de plus
Perso, j'aurais envie de dire que l'API Win32 est le truc le plus documenté qui existe sur terre
"réservé seulement à une élite"
Réservé seulement aux passionnés de la programmation
Après je peux comprendre que ceux qui ont grandit avec puissent regretter que ce soit sur le déclin. Mais je dois dire que je ne regrette pas.
"Réservé seulement aux passionnés de la programmation"
Je m'estime passionné puisque j'en ai fait mon métier et ce par choix. Seulement pas concernant Win32
Peut-être faut-il être "Passionné de la programmation Win32".
Je peux comprendre que tu ais eu une expérience malheureuse, mais en conclure que win32 est "hyper mal documenté"
J'ai pris le temps de me pencher sur UWP après m'être converti au dev Android et iOS, juste pour voir comment ça fonctionnait, et j'ai réussi à porter un jeu sur Windows et Xbox One, ce qui m'a pas mal impressionné (voir son propre jeu tourner sur sa console de salon c'est un vrai kiff).
Et bien voilà, avec ça, plus jamais personne ne voudra utiliser leurs langages maison !
"Et bien voilà, avec ça, plus jamais personne ne voudra utiliser leurs langages maison !" Tu parles du C# là ?
UWP étant une plateforme logicielle propriétaire, il n'y a donc rien de choquant à parler de langage maison
Il y a aussi PhotoShop 2019 qui ne prend pas en charge le MacPlus
Blague à part, WM est mort, ça me semble bien normal...
En revanche, je relève que tu ne saisis pas vraiment le but d'UWP
UWP, ce n’est pas qu'une histoire de "responsive"
UWP, c'est une nouvelle méthode multiplateforme de coder sous Windows qui offre ACCESSOIREMENT la possibilité de s'adapter à différentes tailles d'écran et caractéristiques matériels des cibles définis dans le code
UWP, c'est un code unique pour les device sous W10 indépendamment de leur caractéristiques materiels, d'écran, etc...
On peut coder un soft en UWP avec pour cible tous les devices sous W10, ou uniquement la Xbox, ou uniquement le PC, ou uniquement le mobile, Mais visiblement, pour ce dernier, la possibilité n'est plus offerte vu que WM est mort...