[Actualité] Les fonctionnalités du Framework .NET qui seront portées sur .NET Core et celles qui ne le seront jamais
par
, 28/06/2017 à 02h40 (2371 Affichages)
Dans mon précédent billet de blog, j’ai donné des orientations qui devraient vous aider à choisir entre .NET Core et .NET Framework pour votre application. Dans ce billet, je vais couvrir les fonctionnalités phares du Framework .NET qui ne sont pas disponibles sur .NET Core.
Microsoft a publié la première version stable de .NET Core en offrant une prise en charge d’un sous-ensemble assez important d’API qui sont disponibles sur .NET Framework.
Actuellement, la firme travaille d’arrache-pied pour intégrer à .NET Core certaines technologies du Framework .NET. Toutefois, il y a certaines technologies que la firme n’envisage pas pour l’instant de porter à .NET Core, et qui ne seront probablement jamais disponibles sur l’environnement multiplateforme, au vu de leur importante dépendance avec Windows.
Support des langages
Actuellement, .NET Core offre une prise en charge (compilateur, SDK, etc.) des langages de programmation C# et F#. Le langage Visual Basic .NET n’est pas pris en charge. Microsoft envisage toutefois d’offrir un support de ce dernier. Il ne figure pas, cependant, sur la feuille de route de la prochaine version majeure (.NET Core 2.0)
WPF et Windows Forms
Pour l’instant .NET Core n’offre aucune prise en charge d’un Framework d’Interface Utilisateur. Microsoft n’a aucun plan pour le port de Windows Presentation Foundation (WPF) et Windows Forms. C’est fort probable qu’on n’ait jamais Windows Forms sur .NET Core, car il s’agit d’une technologie qui est déjà obsolète.
Par contre, en ce qui concerne WPF, la technologie est assez demandée par la communauté. Dans une discussion sur le GitHub du projet, un développeur de Microsoft a fait savoir qu’au moment d’implémenter un Framework d’IU sur .NET Core, la firme compte en premier évaluer le port des technos d’IU de Xamarin, qui sont plus orientées multiplateformes.
ASP.NET WebForms
Il n'y a également aucun plan pour le port de WebForms, et je pense que la technologie ne sera probablement jamais portée sur .NET Core. WebForms repose grandement sur System.Web, qui a été exclu de .NET Core pour les besoins de modularité et de performance. De plus, pour rendre ASP.NET Core multiplateforme, il fallait exclure toute technologie qui nécessite IIS.
ASP.NET Web Pages
Absent de la première version stable de .NET Core, ASP.NET Web Pages sera présent dans la prochaine version stable de la plateforme, sous le nouveau nom de Razor Pages. La techno peut déjà être testée avec la Preview de ASP.NET Core 2.0. ASP.NET Web Pages offre une alternative aux développeurs qui veulent mettre en place de petites applications Web sans avoir à faire face aux contraintes architecturales qu’impose MVC.
SignalR
La plateforme client/serveur pour l’intégration des fonctionnalités temps-réels aux applications Web sera présente dans ASP.NET Core. Ceux qui sont impatients de voir cette bibliothèque dans .NET Core devront attendre encore un peu, car elle ne sera pas livrée avec la version stable de .NET Core 2.0. La feuille de route prévoit une publication avec ASP.NET Core 2.1, au quatrième trimestre de cette année.
WCF
.NET Core n’offre pas une prise en charge native de WCF. Toutefois, il existe une bibliothèque WCF permettant d’utiliser des services WCF dans une application .NET Core. Le développement serveur WCF est uniquement possible avec le Framework .NET. Pour l’instant, Microsoft n’a aucun scénario pour le port de WCF. Toutefois, la firme envisage de le faire pour l’avenir.
WF
Windows Workflow Foundation, la technologie pour définir, exécuter et gérer les flux de travail n’est pas disponible sur .NET Core. Microsoft n’envisage pas pour l’instant de le faire.
Il y a une demande importante de la communauté pour le port de ce dernier. Dans la liste des « issues » de .NET Core sur GitHub, des 24 issues encore ouvertes avec le tag « port-to-core ». Le port de WF est celui qui enregistre le plus de commentaires.
WF repose sur plusieurs autres technologies. Le port de celui-ci nécessite le port au préalable de ces technos ou l’utilisation d’alternatives. Il s’agit entre autres de XAML, WCF, etc.
Avant tout travail sur WF, System.Xaml doit d’abord être porté sur .NET Core et cela va demander de sérieux efforts. Une autre alternative serait l’abandon du XAML pour utiliser HTML, JSON ou XML à la place.
Il faut noter toutefois qu’il existe un port non officiel de WF sur .NET Core. Mais ce dernier manque cruellement de fonctionnalités, notamment à cause de l’absence de System.Xaml.
En ce qui concerne les packages des développeurs tiers qui sont disponibles via NuGet et qui ne supportent pas .NET Core, un grand nombre de ceux-ci est en train d’être modifié pour supporter .NET Standard. Ce qui permettra leur utilisation avec .NET Core.