Dot.Blog

C#, XAML, WinUI, WPF, Android, MAUI, IoT, IA, ChatGPT, Prompt Engineering

Adieu UWP ?

Un tweet récent de Morten Nielsen, un MVP bien connu, met le feu aux imaginations !

UWP ?

Universal Windows Platform. La plateforme Windows universelle, celle qui déjà essayait de faire oublier WinRT qui allait dévorer le monde et transformer les PC en grosses tablettes avec Windows 8…

UPW ça sert à quoi ? UWP est une vision cross-form-factor de MS en réponse au cross-plateforme qui sévissait alors. Microsoft proposait alors des smartphones, des tablettes et des PC (par le biais de fabricants comme Dell ou autres). La vision Microsoft du monde était de dire “vous n’avez pas besoin de cross-plateforme car vous n’avez pas besoin d’Apple ni d’Android pour avoir des tablettes et des smartphones, nous en avons, en revanche vous avez besoin d’un Windows qui vous suive dans tous ces environnements jusqu’au PC et nous allons le faire car c’est notre projet !”.

Idée brillante. MS vs le Monde, cela annonçait un joli match !

La pierre angulaire, en tout cas l’une des plus importantes, de ce paradigme était UWP, un environnement de développement reprenant l’esprit de WinRT et .NET mais assez différent de façon interne. Capable de produire du code exécutable pour tous les form-factors, même les machines ARM. Pour preuve, Windows Phone qui au début se programmait dans une mouture spéciale de Silverlight c’était lui aussi mis à UWP.

Et il est vrai qu’on pouvait écrire un même code C# et XAML le compiler et le faire tourner aussi bien sur un Windows Phone que sur un PC…

Le tour de force était là, tuer la concurrence qui obligeait à du cross-plateforme en couvrant par du cross-form-factor toutes les devices dont l’utilisateur pouvait avoir besoin (télévision, XBox s’ajoutant à la liste).

UWP est très proche de WPF par certains aspects, notamment son XAML vectoriel. Ce n’était donc pas un mauvais cheval mais il ne savait tourner que sur des machines modernes équipées du dernier OS Microsoft. Pire il fallait en passer par le Store Microsoft, assez pauvre et peu attrayant (outre d’avoir à lui céder des royalties) pour diffuser les applications.

Toutes ces contraintes et d’autres ont ralenti, pour ne pas dire plomber UWP dès le départ… Dénigrer les entreprises qui étaient jusque là le cœur de cible de Microsoft fut une erreur grossière héritée de l’ère précédente…

Pour assurer la meilleure portabilité d’une application il était et il reste préférable d’utiliser WPF auquel des fonctions Windows 10 ont même été adjointes ajoutant à la confusion.

Le temps a-t-il eu raison de UWP ?

Mal né, il a mal vécu aussi… Ne remportant que peu d’adhésion des développeurs. j’avais même signé un papier pour sauver le soldat Windows 8 à l’époque en réclament des fenêtres, ce qui fut fait, trop tard, dans Windows 10. UWP ne servait qu’à faire des Apps plein écran qui n’allaient pas sur le bureau classique, l’erreur abominable fut corrigée, là aussi trop tard. J’avais milité en vain aussi pour un support immédiat d’un mécanisme de diffusion propres aux entreprise évitant le Store. C’est venu, mais tellement tard…

Entre temps Windows Phone est mort.

Microsoft n’a plus que Surface à proposer. Ce n’est d’ailleurs plus une tablette, juste un mini PC. Alors du multiple form-factor à la sauce MS que reste-t-il ? Un concurrent du Mac Book ? C’est tout ?

De fait, le “cross-form-factor” a perdu l’essentiel de son sens à la mort de Windows Phone. Le sort de UWP s’est joué à ce moment précis.

Xamarin

Certainement prenant conscience de cette situation Microsoft a racheté Xamarin. Nous offrant au passage l’une des plus belle solutions de développement cross-plateforme permettant d’utiliser C# et XAML.

Le support de Windows Phone a bien entendu disparu de Xamarin.Forms. Il fut remplacé par celui de UWP. C’était une bonne idée, pour moi la seule qui pouvait relancer ce dernier. Si cela ne vous coûte rien de plus quand vous développez une App Android ou iOS d’avoir en plus une App UWP pour le Store MS, cela devait tout de même donner un petit coup de pouce…

Mais cela a été fait sans publicité sans communication. Comme d’habitude Microsoft a des années d’avance mais ce sont ses concurrents qui finissent par en faire de l’argent…

Prenons les tablettes, concept Microsoft sous le nom de Origami. Qui pense que c’est une idée de Microsoft ? Prenons Material Design de Google, ils sont forts, quelle beauté ce design épuré… Mais qui sait que c’est Microsoft qui a surpris tout le monde avec Metro pour les premiers Windows Phone puis pour Windows ? L’importance des aplats de couleurs, la lisibilité, jouer sur les fontes, avec des mots cliquables au lieu de boutons, revenir à des formes géométriques simples, donner un sens aux animations pour qu’elles servent l’UX, ringardisé le skeuomorphisme d’Apple (qui a viré de bord aussi dernièrement) etc… Google n’a fait que copier comme Apple mais ils ont su le promouvoir ! Pendant ce temps là chez Microsoft on nous demandait d’arrêter de parler de Metro à cause d’une marque allemande ayant fait un procès sur le nom… pendant plus d’un an on a nagé dans des expressions non validées ne savant plus comment appeler ce nouveau design, quelle débâcle ! Jusqu’à Modern UI, et aujourd’hui Fluent Design (vous en avez déjà entendu parlé ?)… Quelle catastrophe, quel raté mémorable. Enfin non, justement personne ne s’en souvient et quelque part c’est peut être mieux ainsi…

Néanmoins avec l’arrivée de Xamarin et des Xamarin.Forms chez Microsoft, le cross-plateforme faisait officiellement son entrée et venait combler avec habileté la mort du cross-form-factor à la sauce UWP…

UWP n’est certes pas mort, il n’a jamais existé en réalité…

Le Tweet qui tue

On ne tire pas sur une ambulance c’est connu. Tout simplement parce qu’une ambulance transporte un blessé, même grave, et tant qu’il y a de la vie il y a de l’espoir. Tirer sur une ambulance c’est tuer l’espoir.

Mais il n’existe aucune expression qui dit de ne pas tirer sur un convoi funéraire… Cela n’aurait pas la même portée philosophique. Peut-on tuer ce qui est déjà mort ? non.

Morten Nielsen n’a pas tiré sur l’ambulance, tout au plus a-t-il vidé son chargeur sur un cercueil. C’est mal, mais il n’y a pas mort d’homme…


image

Ce qui cloche selon lui c’est que dans le template de création d’une nouvelle application Xamarin.Forms la case à cocher UWP a disparu dans VS 2019…

Alors certes, VS 2019 n’est pas officiellement sorti, mais ça ne saurait tarder. Certes d’ici la version finale la petite case pourra être rajoutée qui sait.

Mais elle a été supprimée.

Conclusion

Qu’en pensez-vous ? Le glas a-t-il sonné pour UWP ?

Que faire des solutions qui se disent alternatives à Xamarin.Forms et qui se fondent totalement sur du UWP retransformé en iOS/Android si UWP disparait ?

Windows 8 et WinRT sont morts depuis longtemps et Windows 10 est redevenu un bureau classique avec des softs classiques, les petites Apps UWP fournies avec Windows ne suffisent pas à exciter les développeurs au point de faire de l’UWP.

Nadella ne compte que sur le cloud. Il ne parle que de ça. Les conférences même pour les MVP ne parlent que de ça. A toutes les sauces. Et cela fait gagner de l’argent à Microsoft en plus ! Difficile de lui en vouloir puisque ça marche.

Peut-on penser à un virage : l’abandon total du rêve UWP, prendre pour acquis la suprématie de Android et iOS au travers de Xamarin et Xamarin.Forms, et se tourner définitivement et presque exclusivement vers des solutions dans le Cloud avec Azure en tête ?

Dans un billet il y a quelques temps que je vous disais que la cible WPF avait été ajoutée à Xamarin.Forms. L’avenir serait-il celui-là, consommer la mort des erreurs de Ballmer/Sinofsky, oublier leurs sornettes WinRT et Windows 8 qui survivaient dans UWP, leurs délires de PC en grosses tablettes, et se ranger aux évidences : il faut fournir du cloud aux Apps mobiles, et pour vendre du cloud MS il faut des outils de dev MS pour faire des Apps iOS et Android, donc Xamarin et Xamarin.Forms, et il faut toujours pouvoir développer de belles applications pour PC, et pour cela rien n’a été inventé chez Microsoft de mieux que WPF (ni chez aucun concurrent d’ailleurs) …

Xamarin et Xamarin.Forms semblent en tout cas avoir de l’avenir car pour une fois leur existence ne dépend seulement de Microsoft comme Silverlight ou UWP, cela dépend de sociétés comme Apple ou Google qui elles ne lâchent pas de bons produits en cours de route comme ça… On peut donc avoir confiance en l’avenir de ces produits MS car leur intérêt est porté par d’autres que MS. Heureusement. Mais c’est si dommage de voir tant de bonnes idées chez Microsoft disparaître faute d’avoir été bien vendues…

Stay Tuned !

blog comments powered by Disqus