Microsoft est en train de sortir la version 3.0 de son son framework .net core. Et c’est une mini révolution qui est train d’avoir lieu.
Imaginez ! WPF et WinForm sous .net Core !
Choix du SDK, du Runtime à installer
Comme à chaque fois, nous avons le choix de la plateforme (Linux, MaxOS ou bien Windows). Comment ça, vous aviez oublié que .net core est multiplateforme ? :=)
Attention, ici, vous devrez de grande préférence utiliser Visual Studio 2019 pour bien faire fonctionner .net core.
Support de C# 8.0
L’avant dernière préview supportait la 7.3 du langage, là, c’est du lourd, nous passons au support de la 8.0 de C# !
Et quelle avancée sur ce langage ! Nous vous en parlions dans un de nos anciens posts autour de .net et C#.
Par exemple, ce qui nous avait le plus marqué : le code par défaut d’une méthode dans une Interface : une révolution selon nous !
Un autre point que nous n’avions pas mentionné : les using sans indentation.
D’habitude, pour utiliser une ressource Disposable, nous devions faire :
using(var monStream = new FileStream())
{
…
}
Maintenant, nous pouvons faire :
using var monStream= new FileStream();
Et bien d’autre évolutions (comme la partie Switch, les async amélioré, …)
Des changements dans asp.net core
Microsoft a de plus en plus orienté le développement de .net vers un système modulaire.
Nous retrouvons ici une inspiration des packages (des modules), chers à node.js.
Dans la version 3.0, nous allons avoir une vraie fracture logicielle : deux des modules incluent dans asp.net core vont devenir des packages Nuget indépendants :
- Newtonsoft.Json
- Entity framework Core
Et déjà, là, on a une première révolution !
La seconde, c’est que asp.net core ne compilera maintenant que dans .net core (auparavant, on pouvait utiliser .net Framework).
La troisième, le chargement du Startup ne se fait plus par un WebHost, mais depuis un Host générique.
Une grande nouveauté : WPF et Windows Form
Et là, le miracle a lieu ! Oui, ils l’ont fait, ils ont enfin franchi le pas : WPF et Windows Form seront inclus dans .net core !
Nous devrons alors penser à comment migrer nos applications WPF existantes, et si c’est faisable.
Microsoft a mis à disposition un outil pour vérifier l’état de migration de nos applications (présent aussi sous github)
(Nous le testerons très prochainement, pour voir comment ça se passe avec nos applications WPF actuelles).
Il est à noté que le support de WPF et Windows Form fonctionnera grâce à des packages dédiés : Windows Desktop Packs.
Impressionnant ! Ce qui alimente de plus en plus ma réflexion que Microsoft oriente de plus en plus .net vers un seul anneau, l’anneau unique : .net core.
A quand la fin de .net framework ? Attention au syndrome java ! Le côté obscur de la force n’est pas loin !