Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Build 2020 : avec le Project Reunion, Microsoft tente de réduire les frictions
Entre les API Win32 et UWP pour les développeurs Windows

Le , par Stéphane le calme

69PARTAGES

15  0 
À l’occasion de la conférence Build, Microsoft a dévoilé Project Reunion, décrit comme étant « notre vision d'unification d’évolution de la plateforme de développeur Windows pour faciliter la création de superbes applications qui fonctionnent sur toutes les versions de Windows 10 ».

L'histoire remonte à l'introduction de Windows 8 en 2012 et de sa nouvelle plateforme d'application compatible avec les tablettes, parfois appelée « Metro », bien que Microsoft aimait dire « Moderne ». Metro n'était pas seulement une nouvelle interface utilisateur, mais aussi un sandboxing de sécurité, une vitrine et une API appelée WinRT (Windows Runtime) qui devait remplacer l'ancienne API Win32. Malgré l'échec du concept Windows 8, Microsoft n'a pas abandonné WinRT, mais l'a plutôt transformé en la plateforme Windows universelle (UWP) pour Windows 10 (« Universel », car il fonctionnait sur plusieurs plateformes Windows, y compris Windows Phone, Xbox et HoloLens).

La division de Windows en deux plateformes a été gênante pour les développeurs, qui ont eu le choix de s'en tenir à Win32 pour une large compatibilité ou d'adopter UWP pour bénéficier des dernières fonctionnalités de Microsoft en matière de sécurité, de déploiement et de conception d'interface utilisateur. Certaines API Windows 10 sont uniquement UWP. La société essaie depuis des années de rendre la séparation plus tolérable, en ajoutant un large accès à l'API Win32 pour UWP et du côté de Win32, en proposant des choses comme les XAML Island (îles XAML), une fonctionnalité qui vous permet d'intégrer un peu d'UWP dans une application Win32.

Plus précisément, la fonctionnalité vous permet d’héberger des contrôles UWP dans des applications de bureau non conçues pour UWP ; vous pouvez ainsi améliorer l’apparence, le comportement et les fonctionnalités de vos applications WPF, Windows Forms et Win32 C++ existantes, mais aussi bénéficier des dernières nouveautés de l’interface utilisateur Windows 10 qui sont uniquement disponibles par le biais de contrôles UWP. Cela signifie que vous pouvez utiliser des fonctionnalités UWP telles que Windows Ink et des contrôles prenant en charge le système Fluent Design dans vos applications WPF, Windows Forms et Win32 C++ existantes.

Vient alors le Project Reunion

Kevin Gallo, Corporate Vice President, Windows Developer Platform, explique :

« Au cours des deux dernières années, nous avons brisé la barrière entre Win32 (également appelé API Windows) et les API de la plateforme Windows universelle (UWP). Project Reunion étend cet effort pour faciliter la création d'une excellente application Windows. Il unifiera l'accès aux API Win32 et UWP existantes et les rendra disponibles découplées du système d'exploitation, via des outils comme NuGet. Cela fournira une plateforme commune pour les nouvelles applications. De plus, il vous aidera à mettre à jour et à moderniser vos applications existantes avec les dernières fonctionnalités, qu'elles soient en C++, en .NET (y compris WPF, Windows Forms et UWP) ou en React Native. Au fur et à mesure que nous découplons les API existantes et ajoutons de nouvelles API, nous effectuons également le travail de polyfill, selon les besoins, afin que les API fonctionnent à un niveau inférieur sur les versions prises en charge de Windows ».

Le projet repose sur plusieurs composants. L’un d’eux est WinUI 3 Preview 1, présenté comme étant « le framework d'interface utilisateur natif hautement performant et optimisé pour Fluent pour Windows. Avec WinUI, les développeurs peuvent créer d'excellentes expériences utilisateur qui s'adaptent et évoluent sur tous les appareils, qu'ils démarrent un nouveau projet ou modernisent une application existante ». WinUI 3 est important, car il s'agit à la fois de la dernière couche d'interface utilisateur pour UWP et également d'une couche d'interface utilisateur pour les applications Win32. Un outil qui vient donc contribuer à réduire la friction entre UWP et Win32.


Microsoft a également parlé de WebView2 : « Nous savons également qu'il y a des moments où vous souhaitez intégrer du contenu Web dans votre application native afin que vous puissiez partager du code sur toutes les plateformes et avec le navigateur. Aujourd'hui, nous développons WebView2 (un autre composant dans le voyage de Project Reunion) avec un nouveau .NET Preview. Désormais, toute application Windows peut intégrer du contenu Web avec la puissance de Microsoft Edge et Chromium. 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 ».

En somme, 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.

Toutefois, Microsoft semble voir voir plus loin que son écosystème :

« Au fur et à mesure que les organisations évoluent pour permettre le travail à distance, Windows Virtual Desktop, construit sur Azure, a fourni la possibilité de provisionner et de mettre à l'échelle les bureaux virtuels et les applications plus rapidement que ce qui était possible auparavant. Il permet aux organisations de servir votre application existante sur un ensemble croissant d'appareils auxquels les utilisateurs peuvent accéder avec les clients Windows Virtual Desktop pour Windows, MacOS / iOS et Android.

« Parce que l'évolutivité est si importante, nous avons introduit une fonctionnalité appelée MSIX App Attach. MSIX App Attach Preview optimisera l'expérience des utilisateurs en démêlant l'image du système d'exploitation que les organisations déploient dans le cloud des applications auxquelles les utilisateurs doivent accéder. Cela signifie qu'une fois que vous avez adopté MSIX pour le bureau Windows, le même investissement apportera bientôt encore plus d'avantages lors de l'exécution de votre application dans Windows Virtual Desktop sur Azure ».


MAUI

Qu'en est-il quand vous devez développer pour mobile ou Mac ainsi que pour Windows ? Microsoft a quelques suggestions, y compris le développement en JavaScript ou TypeScript pour React Native, qui semble être utilisé par l'équipe Office de l'entreprise, entre autres. Il existe également Xamarin.Forms, une boîte à outils d'interface utilisateur multiplateforme .NET acquise par Microsoft en 2016.

À la conférence Build, Microsoft a présenté .NET Multi-platform App UI (.NET MAUI), une évolution de la boîte à outils Xamarin.Forms.

.NET MAUI fournit une seule pile qui prend en charge toutes les charges de travail modernes : Android, iOS, macOS et Windows. Les fonctionnalités natives de chaque plateforme et le contrôle de l'interface utilisateur sont à portée de main dans une API simple et multiplateforme pour offrir des expériences utilisateur sans compromis, selon Microsoft. .NET MAUI permettra aux développeurs de créer des applications pour n'importe quel appareil à partir d'une base de code unique et d'un système de projet.

Microsoft soutient que .NET MAUI est conçu pour la productivité des développeurs, notamment le système de projet et les outils multiplateformes dont les développeurs ont besoin. .NET MAUI simplifie la structure du projet en un seul projet pour cibler plusieurs plateformes. Cela signifie que vous pouvez facilement déployer sur n'importe quelle cible que vous souhaitez, y compris votre bureau, émulateurs, simulateurs ou appareils physiques en un seul clic. Grâce aux ressources multiplateformes intégrées, vous pourrez ajouter des images, des polices ou des fichiers de traduction dans le projet unique, et .NET MAUI configurera automatiquement les crochets natifs afin que vous puissiez simplement coder.

L'entreprise explique que vous aurez toujours accès aux API natives du système d'exploitation sous-jacent et ce sera plus facile que jamais avec les nouvelles intégrations spécifiques aux plateformes. Sous les plateformes, vous pouvez ajouter des fichiers de code source pour un système d'exploitation spécifique et accéder aux API natives. Microsoft annonce que .NET MAUI sera disponible dans Visual Studio 2019, Visual Studio pour Mac et Visual Studio Code et prendra en charge les modèles MVVM et XAML existants ainsi que les capacités futures comme Model-View-Update (MVU) avec C#, ou même Blazor.

Source : Microsoft (annonce, XAML Islands), Project Reunion (GitHub)

Et vous ?

Que pensez-vous de ce projet ?

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de devnino
Nouveau membre du Club https://www.developpez.com
Le 25/05/2020 à 12:02
Laissez-moi deviner, c’est encore une fois compatible Windows 10 uniquement.
Voilà maintenant dix ans que j’ai dis que UWP est une blague. Je pense tenir mes propos pendant quelques temps

Personnellement, toujours coincé avec WPF et .NET 4.0, à la limite 4.5, justement pour supporter Windows XP.

Edit:
Je suis à la fois content et déçu.
1  1 
Avatar de Bart-Rennes
Membre régulier https://www.developpez.com
Le 26/05/2020 à 12:08
Le but de l'UWP n'était pas de promouvoir le Windows Store mais de proposer des applications légères qui ne consomment pas d'énergie pour faire face aux IPAD qui prenaient le marché en tenant des jours sans charge.

Ma grande question est qu'en est-il des application desktop qui utilisent par exemple WinUI, les AOI UWP, et qui tournent sur Windows server 2012/2016/2019 ou sur Windows 7? Il faut encore faire 2 applications ?
0  0 
Avatar de bombseb
Membre expérimenté https://www.developpez.com
Le 18/06/2020 à 11:04
Juste une question pour avoir plus de précisions : l'api UWP est une api native ? ou est-ce que c'est une api en .net ?
0  0