.NET Core 3.0 offrira un support du développement d'applications de bureau
Mais sur Windows uniquement

Le , par Hinault Romaric, Responsable .NET
.NET Core 3.0 offrira une prise en charge du développement d’applications de bureau Windows. C’est ce qui ressort du billet de blog publié récemment par Microsoft.

La conférence Build, la grande messe annuelle des développeurs et professionnels de l’IT, organisé par Microsoft bat son plein actuellement au Washington State Convention Center à Seattle.

La première journée de l’événement a été riche en annonces. L’une des nouvelles clés de la journée pour les développeurs a été l’annonce de ce qui est prévu pour la prochaine version majeure de .NET Core, la plateforme de développement open source de Microsoft.

.NET Core a été développé avec par ses objectifs principaux, l’ouverture à d’autres plateformes, dont Linux et OS X. Pour y parvenir, toutes les technologies du Framework .NET liées à Windows ont été abandonnées.

Mais actuellement, .NET Core n’offre pas de prise en charge de ASP.NET WebForms, Windows Forms et Windows Presentation Foundation (WPF). Microsoft n’avait aucun plan pour le port de ces outils. Cela veut dire que .NET Core est disponible sans prise en charge d’un Framework d’interface utilisateur. Ce qui n’arrange pas de nombreux développeurs, qui ont exprimé leur besoin auprès de Microsoft.

Microsoft a entendu la voix de ceux-ci. La firme a annoncé lors de la Build que sa principale priorité sera la prise la charge du développement d’applications Desktop Windows dans .NET Core 3.0. Il s’agit plus précisément du support de Windows Forms, Windows Presentation Framework (WPF) et UWP XAML.

Les applications de bureau développées avec .NET Core pourront ainsi bénéficier de plusieurs avantages offerts par la plateforme, dont :
  • des améliorations de performances et mises à jour du runtine ;
  • la facilité de tester une nouvelle version de .NET Core juste sur une application de votre ordinateur ;
  • l’activation à la fois du déploiement global et du déploiement local des applications ;
  • la prise en charge des outils CLI de .NET Core ;
  • l’utilisation du nouveau .csproj et la gestion des packages.

Avec .NET Core 3.0, vous serez en mesure d'exécuter de nouvelles applications de bureau Windows ou des applications existantes sur .NET Core et profiter de tous les avantages de la plateforme. Mais cette nouveauté sera disponible uniquement pour Windows. Le support pour les applications Windows desktop sera ajouté sous la forme d'un ensemble de packages sous le nom de « Windows Desktop Packs ».

Cela dit, l'architecture de .NET Core ne devrait donc pas changer. Microsoft publiera également une nouvelle version de .NET Standard en même temps. Et naturellement, toutes les nouvelles API .NET standard seront incluses dans .NET Core 3.0. Microsoft n'a par exemple pas encore ajouté Span<T> à la norme et compte le faire dans la prochaine version.


Une première préversion de .NET Core 3.0 sera publiée avant la fin de cette année et la version stable devrait être disponible courant 2019.

Source : Blog MSDN

Et vous ?

Comment accueillez-vous la prise en charge du développement d’applications de bureau sur .NET Core 3.0 ?

Voir aussi :

Microsoft annonce la disponibilité de Visual Studio 2017 version 15.7 : un tour d'horizon des nouveautés de l'EDI
Microsoft annonce la disponibilité de .NET Core 2.1 RC1, cette version peut déjà être utilisée en production
Build 2018 : Microsoft annonce la disponibilité en préversion publique de VS Live Share, son extension de développement collaboratif en temps réel


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse Signaler un problème

Avatar de dfiad77pro dfiad77pro - Membre expérimenté https://www.developpez.com
le 08/05/2018 à 15:43
Dommage pour Linux et IOS.

Mais bon maintenant, il est trop tard pour essayer de porter WPF, il y'aurait fallut le faire avant 2012 à mon avis.

Maintenant on va devoir se coltiner des technos comme Electron qui a le mérite au moins de tourner partout ( et de ne pas casser les API tout les mois #ModeJs).

L'avenir est peut-être coté Xamarin, cependant j'ai l'impression que les technos Microsoft sont boudées et que les devs (ou plutôt les décideurs), semblent plutôt se palucher coté google
Avatar de François DORIN François DORIN - Responsable .NET & Magazine https://www.developpez.com
le 08/05/2018 à 15:48
Si c'est une bonne nouvelle pour pouvoir porter des applications déjà existantes sur .NET Core, je pense que Microsoft se tire une balle dans le pied avec cette approche.

Je m'explique : les développeurs qui demandent à pouvoir faire des applications de bureau le veulent pour avoir un développement portable utilisable sur Windows, Linux et MacOS. Ils ne le font pas pour pouvoir bénéficier des dernières améliorations de .NET Core.

Ici, Microsoft réintroduit un développement spécifique pour Windows (ok, sous forme de pack, mais cela reste du spécifique) au sein de .NET Core.

Est-il possible de porter des technos comme Winform ou WPF sur d'autres plateforme ? Sans doute que oui, mais à quel prix ? Le projet Mono le fait tant bien que mal pour les Winform, et WPF n'a jamais été considéré. Le problème de ces technos c'est qu'elles sont très (trop ?) proche de l'architecture de Windows pour en faire des implémentations portables.

Modifier les implémentations actuelles pour les rendre portables, c'est prendre le risque de créer des incompatibilités entre l'implémentation "historique" et une nouvelle implémentation pour .NET Core.

A mon sens, il est effectivement nécessaire de pouvoir développer des applications de bureau, et que cette possibilité soit incluse directement dans .NET Standard. Il y a bien l'initiative XAML Standard qui va dans ce sens, mais est encore incomplète (et qui ne semble plus évoluer :/) et qui ne spécifie malheureusement pas tout.
Avatar de redcurve redcurve - Membre averti https://www.developpez.com
le 08/05/2018 à 17:44
Citation Envoyé par François DORIN Voir le message
Si c'est une bonne nouvelle pour pouvoir porter des applications déjà existantes sur .NET Core, je pense que Microsoft se tire une balle dans le pied avec cette approche.

Je m'explique : les développeurs qui demandent à pouvoir faire des applications de bureau le veulent pour avoir un développement portable utilisable sur Windows, Linux et MacOS. Ils ne le font pas pour pouvoir bénéficier des dernières améliorations de .NET Core.

Ici, Microsoft réintroduit un développement spécifique pour Windows (ok, sous forme de pack, mais cela reste du spécifique) au sein de .NET Core.

Est-il possible de porter des technos comme Winform ou WPF sur d'autres plateforme ? Sans doute que oui, mais à quel prix ? Le projet Mono le fait tant bien que mal pour les Winform, et WPF n'a jamais été considéré. Le problème de ces technos c'est qu'elles sont très (trop ?) proche de l'architecture de Windows pour en faire des implémentations portables.

Modifier les implémentations actuelles pour les rendre portables, c'est prendre le risque de créer des incompatibilités entre l'implémentation "historique" et une nouvelle implémentation pour .NET Core.

A mon sens, il est effectivement nécessaire de pouvoir développer des applications de bureau, et que cette possibilité soit incluse directement dans .NET Standard. Il y a bien l'initiative XAML Standard qui va dans ce sens, mais est encore incomplète (et qui ne semble plus évoluer :/) et qui ne spécifie malheureusement pas tout.
MS fait converger .net Framework et .net core en mettant tout le code spécifique Windows dans une brique séparé. Pour de la gui multiplateforme faut voir du coté de Xaml standard cette approche est juste logique.

WPF n'a rien de spécifique à Windows, en fait XAML est juste un langage de sérialisation et ne dépend pas de la plateforme en soit
Avatar de François DORIN François DORIN - Responsable .NET & Magazine https://www.developpez.com
le 08/05/2018 à 17:57
Citation Envoyé par redcurve Voir le message
MS fait converger .net Framework et .net core en mettant tout le code spécifique Windows dans une brique séparé.
Justement, le problème est là. .NET Core est portable, .NET Framework non. Donc je pense que c'est un mauvais signal que d'afficher clairement la possibilité de faire des applications .NET Core qui ne seront pas portables. Quel avantage dans ce cas de faire du .NET Core par rapport à l'usage du Framework .NET classique ?

Citation Envoyé par redcurve Voir le message
Pour de la gui multiplateforme faut voir du coté de Xaml standard cette approche est juste logique.

WPF n'a rien de spécifique à Windows, en fait XAML est juste un langage de sérialisation et ne dépend pas de la plateforme en soit
Attention à ne pas tout confondre. XAML, c'est une représentation en XML d'une interface graphique. L'objectif de XAML standard est d'harmoniser les différents composants de base (bouton, label, textbox, etc.) pour faire en sorte qu'une application de bureau ou mobile par exemple utilise les mêmes bases, et permettent éventuellement de partager le même code XAML d'une plateforme à une autre.

WPF est un framework graphique qui utilise XAML. Si XAML n'a rien de spécifique à Windows (Xamarin Forms l'utilise par exemple), ce n'est pas le cas de WPF qui est très scpécifique à Windows puisqu'il utilise DirectX.
Avatar de Pol63 Pol63 - Expert éminent sénior https://www.developpez.com
le 08/05/2018 à 18:05
un peu déçu aussi, j'aurais préféré un "nouveau" framework UI utilisant xaml et portable ...
Avatar de dfiad77pro dfiad77pro - Membre expérimenté https://www.developpez.com
le 08/05/2018 à 18:49
Citation Envoyé par François DORIN Voir le message
Justement, le problème est là. .NET Core est portable, .NET Framework non. Donc je pense que c'est un mauvais signal que d'afficher clairement la possibilité de faire des applications .NET Core qui ne seront pas portables. Quel avantage dans ce cas de faire du .NET Core par rapport à l'usage du Framework .NET classique ?
De pouvoir mettre à jours le Framework .NET pour une appli sans mettre à jours Windows(entendu dans la Keynote d'aujourd'hui)
Avatar de François DORIN François DORIN - Responsable .NET & Magazine https://www.developpez.com
le 08/05/2018 à 19:03
L'idée est intéressante, mais si j'ai bien compris, ces packs ne sont que pour Windows Forms, WPF et UWP. Cela ne représente donc pas le Framework.NET mais un sous-ensemble du Framework .NET.

Mais par contre, effectivement, la mise à jour de .NET Core et/ou des packs sera possible sans devoir mettre à jour Windows. +1 donc
Avatar de xarkam xarkam - Membre confirmé https://www.developpez.com
le 08/05/2018 à 19:10
Il existe http://avaloniaui.net/ pour faire des composant graphiques quelque soit l'os.
Et ca ressemble au wpf.

Ainsi qu'un tout balbutiant https://github.com/VitalElement/AvalonStudio

Donc, l'avenir s'annonce par mal je pense.
Avatar de xav-stargate xav-stargate - Membre à l'essai https://www.developpez.com
le 08/05/2018 à 23:01
Nul comme décision ! Microsoft choisit la facilité ! Le principal intêret de .NET Core c'est d'être multiplateforme, si on ajoute une GUI il faut qu'elle le soit aussi (qu'importe que ça soit via un package ou autre). Si on veut une GUI on utilise WPF et .NET Framework avec une library et .NET Standard ... je ne comprend pas ce choix de la part de Miscrosoft.
Avatar de StringBuilder StringBuilder - Expert confirmé https://www.developpez.com
le 09/05/2018 à 8:57
A mon avis, l'objectif de Microsoft est simplement de pouvoir abandonner à terme .NET Classique au profit du seul .NET Core.

Le support des WinForms et WebForms est sous forme de "pack" afin :
- Soit de pouvoir être abandonné quand tous les développeurs spécifiques Windows seront passés sur Core
- Soit de pouvoir les porter petit à petit sur d'autres plateformes

Vu les merdes que fait Microsoft depuis quelques années, moi je sens un mélange des deux : une fois que tout le monde sera passé (de force) à .NET Core, WinForms et WebForms seront abandonnés (car ça fait plus de 10 ans que Microsoft essaie de les arrêter sans succès).
A la place, on va récupérer de couches portables basées soit sur du XAML, soit une autre norme quelconque.

Au final, on va fait encore plus d'interprété, des applications HelloWorld qui feront 500 Mo et nécessiteront 16 Go de mémoire pour démarrer, exactement comme Java.

Je suis très franchement déçu par l'ensemble des décisions de Microsoft depuis le développement de WUP, que PERSONNE n'a jamais voulu utiliser. Windows 10 Mobile a été tout simplement sacrifié en essayant d'imposer un Framework boudé des développeurs.
Au lieu de se demander pourquoi les développeurs boudent les nouveaux Framework, Microsoft ferait bien d'arrêter de nous encourager à faire de la merde.
Quand je vois que Visual Studio 2017 propose de faire du AngularJS à grands coups de 400 Mo de dépendences par projet, pour pisser un code qui ne contient plus une seule ligne de .NET je me demande à quand on va avoir un abandon pur et simple de .NET "ouais nan mais finalement on a tous essayé on abandonne". Sentiment de déjà vu...
Contacter le responsable de la rubrique Accueil