L’état actuel du Framework .NET

écrit par Hichem publié le lundi 27 avril 2020

Dans cet article, nous parlerons du développement actuel et futur de l'écosystème .NET.

L'industrie est en pleine mutation, qu'est-ce que cela signifie pour vos projets logiciels d’aujourd'hui et demain ?

Vos compétences seront-elles dépassées ?

Votre investissement actuel deviendra-t-il obsolète ?

Sur quoi devriez-vous vous concentrer maintenant ?

Et qu'est-ce qui va devenir important dans un an ou deux ?

Quelles technologies avez-vous besoin d’apprendre ?

Cet article tente de répondre à toutes les questions ci-dessus et à bien d’autres, en examinant de manière impartiale les développements actuels et futurs avec .NET et d’autres technologies pertinentes.

Apparu il y a 18 ans, le framework .NET, nous permet aujourd’hui de créer plusieurs types d’applications : applications de bureau, web, cloud, mobile, jeux, IOT et de l’intelligence artificielle (IA).

Microsoft nous fait comprendre que le framework .NET n’est pas prêt de disparaitre.

La version actuelle 4.7.2 de Microsoft s’engage à maintenir et améliorer ce framework.

Selon Microsoft il y a plus d’un million de nouveau développeurs actifs sur .NET chaque mois et plus de 500 000 sur .NET Core.

Actuellement, Office 365, Dynamics, SharePoint, Bing et bien d’autres, continuerons d’utiliser le framework .NET.

Qu’elles sont les nouveautés du framework .NET version 4.8 ?

 

Le framework .NET 4.8 introduit de nouvelles fonctionnalités dans les domaines suivants :

  • Classes de base
  • Windows Communication Foundation (WCF)
  • Windows Presentation Foundation (WPF)
  • Common Langage Runtime (CLR)

Cette version corrige de nombreux problèmes tels que :

Des améliorations de l'accessibilité sont proposées pour Windows Forms afin d'améliorer la communication des données d'application avec les malvoyants.

Dans l’ASP.NET, un problème lié au traitement des en-têtes HTTP à plusieurs valeurs pouvant affecter le traitement de données en plusieurs parties, a été résolu.

En ce qui concerne le WPF, nous constatons la prise en charge du DPI V2 par moniteur et la mise à l’échelle PPP en mode mixte afin de générer des applications de bureau à haute résolution.

Dans WCF, un problème d'accessibilité qui entraînait un mauvais ciblage des contrôles ComboBox dans les thèmes à contraste élevé a été corrigé.

Du côté du CLR, nous citons des améliorations apportées au compilateur JIT (Just In Time) ; ce dernier est basé sur le compilateur de .NET Core 2.1 incluant les correctifs de bogues.

Et le .NET Core dans tout ça ?

 

Le framework .NET Core est une version allégée, open source et surtout portable, sous-entendu multiplateformes de .NET.

Nous pouvons ainsi créer des applications fonctionnant sur macOS ou Linux par exemple.

Il est adapté aux architectures de type micro-services.

Le Framework .NET Core version 3, prend en charge le WPF, Windows Forms, UWP, IOT et L’IA.

Cela représente un grand progrès par rapport aux versions précédentes !

 

L’un des avantages du .NET Core est la possibilité d’avoir plusieurs versions sur une même machine.

Ce qui n’est pas possible avec le framework .NET qui n’autorise qu’une seule version installée.

Selon Microsoft l’usage de .NET Core se définit ainsi :

  • Vous avez des besoins multiplateformes
  • Vous ciblez des micro-services
  • Vous utilisez des conteneurs Docker
  • Vous avez besoin de systèmes scalables et hautes performances
  • Vous avez besoin de versions .NET côte à côte par application

Parmi les nouveautés annoncées par Microsoft, le XAML Island permet d’incorporer des contrôles UWP dans WPF, Winform et les applications Win32.

Le .NET Standard 2.0

 

Ce n’est pas à proprement parlé une édition de .NET mais il s’agit d’une spécification des API .NET qui doivent être disponibles sur l’ensemble des .NET disponibles.

L’objectif de .NET Standard est d’établir une meilleure uniformité dans l’écosystème .NET

Il définit un ensemble uniforme d’API de bibliothèques de classes de base pour toutes les implémentations de .NET, indépendamment de la charge de travail.

Aussi, il permet également aux développeurs de générer des bibliothèques portables utilisables sur toutes les implémentations de .NET, à l’aide de ce même ensemble d’API.

Enfin, il réduit ou même élimine une compilation conditionnelle de source partagée résultant des API .NET, uniquement pour les API de système d’exploitation

Le développement WEB avec le framework .NET

 

L’architecture classique d’ASP.NET présentes quelques lacunes :

  • La capacité d’hébergement limitée au serveur IIS – nous trouvons ainsi une forte dépendance à l’environnement IIS et notamment le System.Web
  • Le web évolue plus rapidement que le framework .NET, sachant qu’une application ASP.NET a besoin entièrement du framework ; ce qui rend complexes l’optimisation et la mise à l’échelle des petites applications

Pour résoudre ces problèmes, Microsoft réécrit complètement ASP.NET et le nomme ASP.NET Core ; un framework multiplateforme à hautes performances et open source.

Il permet de créer des applications cloud modernes, des services web (API), des applications IoT et des backends mobiles.

Une application ASP.NET Core s’exécute sur .NET Core ou .NET Framework.

Parmi les autres avantages de L’ASP.NET Core :