Microsoft affirme avoir ajouté environ 50 000 API .NET Framework à la plateforme depuis le lancement du projet .NET Core.
Il faut préciser que .NET Core n’offrait pas de prise en charge de ASP.NET WebForms, Windows Forms et Windows Presentation Foundation (WPF). Cela veut dire que .NET Core a été disponible sans prise en charge d’un Framework d’interface utilisateur au grand désarroi de nombreux développeurs. Néanmoins, Microsoft a promis d’apporter une solution en faisant de la prise en charge du développement d’applications Desktop Windows dans .NET Core 3.0 sa principale priorité.
Ainsi, en présentant .NET Core 3.0, l’éditeur a décrit trois scénarios importants pour la communauté des développeurs qui seront réalisables avec cette version :
- Des versions côte à côte de .NET qui supportent Winforms et WPF : Avant le lancement de cette version, Microsoft expliquait qu’il ne pouvait y avoir qu’une seule version de .NET Framework sur une machine. Ce qui veut dire qu’avec l’installation d’une mise à jour de .NET Framework via Patch Tuesday ou par des mises à jour de Windows, il y a un risque qu’un correctif de sécurité, un correctif de bogue ou une nouvelle API puisse casser le fonctionnement d’applications sur la machine. Avec .NET Core, Microsoft entend résoudre ce problème en permettant la coexistence de multiples versions de .NET Core sur la même machine. Les applications peuvent dès lors être verrouillées à une version spécifique et passées à une autre version après avoir été testées.
- Intégrer .NET directement dans une application : Puisqu’une seule version de .NET Framework pouvait être installée sur une machine, il était impératif d’installer la dernière version pour tirer avantage d’une nouvelle fonctionnalité du framework ou du langage. Avec .NET Core, vous pouvez livrer le framework avec votre application. Cela permet de tirer parti de la dernière version, fonctionnalités et API sans avoir à attendre l’installation du framework.
- Bénéficier des fonctionnalités de .NET Core : .NET Core constitue une version évolutive et open source de .NET. Désormais les applications WinForms et WPF sur Windows peuvent tirer profit des dernières fonctionnalités de .NET Core, qui incluent aussi plus de correctifs essentiels pour un support meilleur d’écrans à haute résolution.
« .NET Core 3.0 réduit l’écart en terme de capacités avec .NET Framework 4.8, permettant ainsi à Windows Forms, WPF et Entity Framework 6. Ce développement s’appuie sur ce travail. Le noyau .NET et le meilleur de Mono permettent de créer une plateforme unique vous pouvez utiliser pour tout votre code .NET moderne.
« Nous prévoyons de publier .NET 5 en novembre 2020, et la première préversion sera disponible dans la première moitié de 2020. Elle sera prise en charge avec les futures mises à jour de Visual Studio 2019, Visual Studio pour Mac et Visual Studio Code ».
.NET 5 = Prochaine version de.NET Core
.NET 5 est la prochaine étape avec .NET Core. Le projet vise à améliorer .NET de plusieurs manières:
- Créer un environnement d’exécution et de framework .NET unique, utilisable partout et offrant des comportements d’exécution et des expériences de développeur uniformes.
- Développer les fonctionnalités de .NET en exploitant le meilleur de .NET Core, .NET Framework, Xamarin et Mono.
- Construire ce produit à partir d'une base de code unique sur laquelle les développeurs (Microsoft et la communauté) peuvent travailler et se développer ensemble, ce qui améliore tous les scénarios.
Ce nouveau projet et cette nouvelle direction changent la donne pour .NET. Avec .NET 5, vos fichiers de code et de projet auront la même apparence, quel que soit le type d'application que vous créez. Vous aurez accès aux mêmes capacités d’exécution, d’API et de langage avec chaque application. Cela inclut de nouvelles améliorations des performances qui s’engagent dans corefx, pratiquement tous les jours.
Tout ce que vous aimez de .NET Core continuera d'exister:
- Open source et orienté communauté sur GitHub.
- Implémentation multi-plateforme.
- Prise en charge de l'exploitation de fonctionnalités spécifiques à la plateforme, telles que Windows Forms et WPF sous Windows, ainsi que des liaisons natives vers chaque plateforme native de Xamarin.
- Haute performance.
- Installation côte à côte.
- Petits fichiers de projet (style SDK).
- Interface de ligne de commande (CLI).
- Intégration de Visual Studio, Visual Studio pour Mac et Visual Studio Code.
Voici ce qui sera nouveau:
- Vous aurez plus de choix sur les expériences d'exécution.
- L'interopérabilité Java sera disponible sur toutes les plateformes.
- L'interopérabilité Objective-C et Swift sera prise en charge sur plusieurs systèmes d'exploitation.
- CoreFX sera étendu pour prendre en charge la compilation statique de .NET (ahead-of-time - AOT), des empreintes plus petites et un support pour davantage de systèmes d'exploitation.
Feuille de route
Microsoft prévoit de livrer .NET Core 3.0 en septembre, .NET 5 en novembre 2020, puis prévoit d’envoyer une version majeure de .NET une fois par an, tous les mois de novembre:
« Nous omettons la version 4, car cette nomenclature risque de perturber les utilisateurs familiarisés avec le .NET Framework, qui utilise la série 4.x depuis longtemps. De plus, nous voulions clairement communiquer que .NET 5 était l'avenir de la plateforme .NET.
« Nous en profitons également pour simplifier les noms. Nous pensions que s’il n’y avait qu’un seul .NET à l’avenir, nous n’aurions pas besoin d’un terme de clarification comme «Core». Le nom abrégé est une simplification et indique également que .NET 5 possède des fonctionnalités et des comportements uniformes. N'hésitez pas à continuer à utiliser le nom «.NET Core» si vous le préférez. »
Expériences d'exécution
Mono est l'implémentation multi-plateforme d'origine de .NET. Il s'agissait à l'origine d'une alternative open source à .NET Framework qui s'est ensuite tournée vers le ciblage des appareils mobiles au fur et à mesure de la popularité des appareils iOS et Android. Mono est le runtime utilisé dans le cadre de Xamarin.
CoreCLR est le runtime utilisé dans le cadre de .NET Core. Il visait principalement à prendre en charge les applications cloud, y compris les plus grands services de Microsoft, et est également utilisé pour les applications de bureau Windows, IdO et d’apprentissage automatique.
Pris ensemble, les environnements d'exécution .NET Core et Mono présentent de nombreuses similitudes (ils sont à la fois des environnements d'exécution .NET) mais également des fonctionnalités uniques et précieuses. Il est logique de permettre de choisir l'expérience d'exécution que vous souhaitez. C’est pourquoi Microsoft est en train de créer des remplacements directs CoreCLR et Mono. L’éditeur envisage de simplifier les choses comme un commutateur de construction pour choisir entre les différentes options d’exécution.
Source : Microsoft
Voir aussi :
JetBrains annonce la disponibilité de la version 2019.1 de ReSharper Ultimate, sa suite d'outils pour les développeurs .NET et C++
.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
Microsoft annonce ML.NET 1.0 RC, la dernière version Preview de son framework d'apprentissage machine, avec prise en charge des modèles TensorFlow
ASP.NET Core est le 3e serveur Web le plus rapide, répondant à 7 millions de requêtes HTTP/s, selon un test de TechEmpower