De .Net Core 1 à .Net Core 3.0 : retour sur l’évolution du framework open source et multiplateforme
En 2016, la première version de .NET Core a vu le jour avec pour but de créer une première version de .NET qui soit à la fois open source et multiplateforme (Windows, macOS et Linux). Microsoft a fait ce choix pour cibler les utilisateurs qui n’utilisent que les technologies open source et pour répondre aux besoins d’exécution des applications .Net sur des serveurs Linux. Dès sa première version, le framework open source est conçu pour que l’ensemble des opérations soient possibles via la ligne de commande. .Net Core 1 introduit la coexistence de multiples versions du framework open source sur le même poste de travail, ce, pour apporter réponse aux problèmes de compatibilité posés par une installation globale de .Net Framework.
.Net Core 2 fait l’objet de publication en juin 2017 avec le support de .Net Standard 2.0 ce qui permet au framework open source de glaner un supplément de près de 20 000 API. Ce tournant est notamment marqué par l’introduction du pack de compatibilité Windows – un paquet NuGet qui inclut plusieurs API réservées à Windows comme System.Drawing, System.DirectoryServices, etc. ASP.NET Core 2.0 a apporté Razor Pages et SignalR, deux frameworks qui manquaient dans .NET Core 1.0. L’Entity Framework a pour sa part ajouté le support du lazy loading.
La première préversion publique de .Net Core 3.0 est pour sa part disponible depuis le début du mois de décembre de l’année précédente (2018). Grosso modo, .Net Core 3.0 se démarque des précédentes moutures du framework open source par la prise en charge de Windows Presentation Foundation (WPF), Windows Forms et Entity Framework 6 (EF6). Donc en s’appuyant sur cette mouture, le développement d’applications de bureau avec le framework open source est possible. La firme de Redmond a fait usage de l’approche brique séparée pour associer ces composants spécifiques à Windows au framework .Net Core 3.0. Au travers de la prise en charge de C# 8.0, .Net Core 3 permet de créer des applications web clientes avec Razor Components. En sus, le framework open source vient avec le support de scénarios qui impliquent l’Internet des objets et la plateforme ARM64. .Net Core 3 se démarque aussi des versions précédentes du framework open source par la prise en charge complète de ML.NET – un framework d’apprentissage machine conçu pour les développeurs .NET.
Dans sa dernière note d’information, Microsoft revient sur cette évolution avec quelques chiffres à l’appui :
« Nous avons commencé dans .NET Core 1.0 avec un jeu d'API très minimal qui n'incluait que près de 18 000 des APIs de .NET Framework. Avec .NET Standard 2.0, nous avons essayé de rendre beaucoup plus viable le partage de code entre .NET Framework, .NET Core et Xamarin, ce qui a permis d'étendre à environ 38 000 le jeu d'API .NET Framework disponibles dans .NET Core 2.0. Nous avons également mis en place le pack de compatibilité Windows, ce qui a augmenté les API .Net Core avec 21 000 unités ; résultat : près de 60 000 API supplémentaires. Dans .NET Core 3.0, nous avons ajouté WPF et WinForms, ce qui a augmenté le nombre d'API .NET Framework portées à .NET Core à plus de 120 000, ce qui représente plus de la moitié des API Framework.
Il est également utile de souligner que nous avons ajouté environ 62 000 API à .NET Core qui n'existent pas dans .NET Framework. Si nous comparons les nombres totaux d'API, .NET Core possède environ 80 % des API de .NET Framework. »
Où va Microsoft ?
La firme de Redmond va vers un futur centré sur .Net Core 3 dont la version générale est disponible depuis la dernière conférence .Net qui s’est tenue du 23 au 25 septembre de l’année en cours. L’entreprise laisse ainsi filtrer une invitation à développer les nouvelles applications en s’appuyant sur .Net Core dont elle dit qu’il est taillé sur mesure pour « les charges de travail modernes » : applications de bureau, applications mobiles, applications console, services dans le nuage, etc.
En fait, les développements en cours marquent l’arrêt de l’évolution du .Net Framework rendu à la version 4.8. Ce dernier continuera néanmoins de bénéficier de prise en charge, mais la firme de Redmond se veut claire : elle axe ses travaux sur l’intégration de nouvelles technologies au sein du .Net Core.
Sur les bases posées avec .Net Core 3, Microsoft entend produire un environnement d’exécution .Net unique et une infrastructure partout. En d’autres termes, Microsoft va vers un seul .Net à l’avenir. Ce dernier pourra être utilisé pour cibler plusieurs (sinon toutes) plateformes : Windows, Linux, MacOS, iOS, Android, tvOS, watchOS et WebAssembly, etc. Ce futur se nomme .Net 5 – la prochaine version de .Net Core 3. La première préversion de .Net 5 sera disponible dans la première moitié de l’année à venir. La version finale est attendue en novembre 2020. Microsoft prévoit ensuite de publier une version majeure de .Net une fois par an, ce, tous les mois de novembre.
Source : Microsoft
Et vous ?
Qu’en pensez-vous ?
Voir aussi :
.NET Core 3.0 offrira un support du développement d'applications de bureau, mais sur Windows uniquement
Vos applications Windows Forms et WPF sont-elles prêtes pour .NET Core 3.0 ? Microsoft veut s'en assurer et sollicite les développeurs
Microsoft revient avec plus de détails sur .NET Core 3.0 et .NET Framework 4.8 : bientôt une dissemblance entre le Framework .NET et .NET Core
De .NET Core 1 à .NET Core 3.0, retour sur l'évolution du Framework open source et multiplateforme de Microsoft
.NET Core 3.0 Preview 4 est disponible et s'accompagne d'une MàJ de la compilation hiérarchisée ainsi que du contrôle WinForms Chart
Avec .NET 5, Microsoft voudrait produire un environnement d'exécution .NET unique et une infrastructure utilisable partout
Microsoft confirme que la version générale de .NET Core 3.0 sera disponible durant la .NET Conf 2019 et en profite pour publier .NET Core 3.0 RC1