A l’occasion de sa conférence Build, qui se tient virtuellement, Microsoft a dévoilé une initiative allant dans le sens d’une harmonisation de ses deux grandes plateformes, à savoir le vénérable Win32 et l’Universal Windows Platform. De quoi simplifier la tâche des développeurs, contraints bien souvent sur Windows de jongler entre les deux.
Développer des applications Windows n’est pas, en soi, une gageure, mais nul ne pourrait nier une certaine confusion entre les plateformes de développement de Microsoft, avec d’un côté Win32, qui fut un standard, et UWP, pour Universal Windows Platform, introduit avec Windows 8 et ses tristement célèbres “tuiles” (on parle aussi de style Métro). L’an dernier, Redmond avait d’ores et déjà annoncé vouloir faciliter le lien entre les deux environnements. Ce sera très prochainement le cas avec ce Project Reunion annoncé mardi lors d’une conférence Build exceptionnellement virtuelle.
Trois briques
Il s’agit ici “d’unifier l’accès aux APIs Win32 et UWP et de les rendre disponibles découplées du système d'exploitation, via des outils comme NuGet [gestionnaire de packages .NET]” écrit l’éditeur dans la documentation publiée sur GitHub. Pour l’heure, ce projet repose sur trois composants. Le premier est MSIX, un format de packages d’application Windows permettant notamment d’empaqueter des applications Win32, WPF et Windows Forms.
Suit WinUI Preview 1, dernière version du framework d’interface utilisateur sous Windows, qui permet, selon Microsoft, de “créer de nouvelles applications avec une interface utilisateur moderne qui s'adapte et évolue sur tous les appareils, ou moderniser progressivement l'interface utilisateur des applications de bureau existantes, y compris C++, WPF et WinForms”.
Enfin, WebView2, dernier élement de ce tryptique, se voit adjoindre un nouvel outil .NET. “Désormais, toute application Windows peut intégrer du contenu Web avec la puissance de Microsoft Edge et Chromium” ajoute Redmond. “WebView2 fournit des fonctionnalités Web complètes sur toute la gamme des applications Windows, et il est découplé du système d'exploitation, de sorte que vous n'êtes plus verrouillé sur une version particulière de Windows”. Un ajout cohérent, sachant que le navigateur Edge de Microsoft est passé à Chromium.
D’abord Windows, ensuite le monde !
En résumé, Project Reunion entend fournir aux développeurs un socle commun de développement pour Windows, aussi bien pour le développement de nouvelles applications que pour la modernisation de logiciels existants, “peu importe qu'ils soient C++, .NET (y compris WPF, Windows Forms et UWP) ou React Native”. Mais, outre le souci de Microsoft de faciliter la vie des développeurs, on peut y voir une tentative de promouvoir l’UWP, dont l’objet initial était d’enrichir le Windows Store, sans le succès escompté à ce jour.
Mais ce n’est pas tout... En effet, Microsoft semble voir plus loin que son seul écosystème. Les applications bâties autour de ce nouveau socle sont évidemment optimisées pour fonctionner sur des machines sous WIndows, mais aussi pour être exécutées depuis un cloud par le biais de Windows Virtual Desktop ou d’autres solutions d'applications distantes. Ce qui permet de distribuer une application Windows sur des appareils non-Windows, MacOS, iOS ou encore Android, en la streamant à l’aide de Virtual Desktop. Notons enfin que Microsoft semble jouer la transparence et que le développement du Project Reunion sera accessible depuis le dépôt GitHub prévu à cet effet.