Vous vous dites peut-être que Microsoft s’est lancé dans le credo des tâches ménagères avec son nouveau produit .Net pour tout nettoyer dans la maison ? Et bien vous faites fausse route, restons dans le domaine de l’IT et voyons ensemble ce qui se cache derrière ce Framework .NET qui apparaît très souvent dès que l’on commence à toucher aux outils Microsoft.

 

Un Framework ? De quoi s’agit-il ?

 

En informatique, un Framework (Infrastructure logicielle en français) est un ensemble d’outils et de composants permettant de concevoir un logiciel ou une application. Ce sont les briques qui vont permettre d’établir les fondations d’un logiciel ou encore son squelette applicatif.

L’objectif d’un Framework est de simplifier et uniformiser le travail des développeurs. Il donne un cadre pour concevoir une application dans un langage de programmation donné.

Le Framework .NET (prononcé dot net) que nous allons découvrir dans la suite de cet article est conçu pour des développements en C#, F# ou encore Visual Basic.

 

Entrons dans les détails du Framework .NET proposé par Microsoft

 

Le Framework .NET est un environnement d’exécution managé pour Windows. Cela signifie que le programmeur n’a pas à se préoccuper de la compilation de son code pour le rendre utilisable par l’utilisateur sous la forme d’un logiciel ou d’une application.

Le Framework s’occupe également de gérer la mémoire, les barrières de sécurité ainsi que la cohérence des types de données.

Cette partie d’exécution managée du Framework est appelée le Common Language Runtime (CLR). Il s’agit de l’un des 2 composants principaux fournis par .NET.

Le second est une bibliothèque d’objets utilisables par les développeurs pour simplifier la conception d’une application. Ces objets sont également appelés classes.

Le Framework .NET fournit ainsi une bibliothèque de classes regroupée en domaines spécifiques de développement.

Il existe ainsi :

  • La bibliothèque ASP.NET pour les applications web
  • La bibliothèque ADO.NET pour l’accès aux données
  • La bibliothèque WCF (Windows Communication Foundation) pour les applications orientées services.
  • La bibliothèque WPF (Windows Presentation Foundation) pour les applications bureau Windows.

 

Historique du Framework .NET

 

Microsoft a commencé à développer le Framework .NET à la fin des années 1990 sous le nom de NGWS (Next Generation Windows Services) pour une 1ère publication en version Beta à la fin l’année 2000.

Le Framework .NET officiel est apparu en le 13 février 2002. D’abord prévu pour le développement et le déploiement d’applications Windows, il et très vite devenu possible de disponible pour les applications mobiles le .NET Compact Framework.

Aujourd’hui nous en sommes à la version 4.8, toujours intégralement pris en charge par Microsoft.

Les nouvelles versions de .NET continuent d’être publiées annuellement, chacune portant un numéro de version majeur supérieur. Elles incluent de nouvelles fonctionnalités significatives et permettent souvent de nouveaux scénarios de développement.

 

L’architecture du Framework .NET

 

Le Framework .NET est une plateforme de développement open source et multiplateforme ().

Les applications et bibliothèques .NET sont générées à partir du code source et d’un fichier projet, à l’aide d’une interface CLI.NET ou d’un environnement de développement intégré tel que Visual Studio.

L’unité de base d’une application .NET est appelé un assemblage (assembly). Il s’agit d’un ensemble de code, de ressources et de métadonnées. Un assemblage est toujours accompagné d’un manifeste (assembly manifest) qui décrit ce qu’il contient :

  • Nom
  • Version
  • Type de données exposées
  • Autres assemblages utilisés
  • Instructions de sécurité.

Un assemblage est composé d’un ou plusieurs modules qui contiennent le code.

Une application .NET compilée n’est pas compilée en code binaire machine mais dans un code binaire intermédiaire CIL (Common Intermediate Language). Une application consiste donc en un ensemble d’assemblages contenus dans un ou plusieurs fichiers exécutables ou fichiers DLL en CIL. Au moins un de ces assemblages doit contenir un point d’entrée afin de démarrer l’application.

Quand l’exécution d’un programme démarre, le premier assemblage est chargé en mémoire. Le CLR commence par examiner les permissions demandées par cet assemblage et les compare à la politique de sécurité (security policy) du système. Puis, si l’assemblage est autorisé à s’exécuter, un processus est créé pour exécuter l’application. Le premier morceau de code nécessaire à l’exécution est chargé en mémoire et est compilé en code binaire natif par le compilateur juste à temps (Just-In-Time, JIT). Une fois compilé, le code est exécuté et stocké en mémoire sous forme de code natif, garantissant ainsi que chaque portion de code n’est compilée qu’une seule fois lors de l’exécution de l’application.

 

Une architecture couramment utilisée avec le Framework .NET est le pattern MVC (Modèle – Vue – Contrôleur). Il concerne un agencement de code segmenté en 3 sections :

  • Le modèle qui contient la logique métier
  • La vue qui gère l’affichage et l’IHM d’une application
  • Le contrôleur qui permet le lien entre l’utilisateur et la logique métier.

 

MVC est un des patterns utilisés avec le Framework .NET. D’autres patterns existent en fonction des besoins de l’application (exemple : MVVM, N-Tiers, etc…).

 

Les outils de développement

 

Le Framework .NET prend toute son envergure au sein d’outils de développement dédiés à cette plateforme.

Parmi les plus connus et utilisés, on retrouve notamment Visual Studio et Visual Studio Code fournis par Microsoft.

Grâce au CLR, la plateforme .NET est indépendante de tout langage de programmation et supporte nativement un grand nombre d’entre eux, parmi lesquels on retrouve :

  • Cobol
  • Fortran
  • J#
  • JScript
  • Pascal
  • Perl
  • Python

 

Écosystème .NET

 

.NET Framework :

 

Comme nous l’avons vu, il s’agit d’un ensemble de classes qui donnent accès aux fonctionnalités étendues de Windows et Windows Server à travers un runtime nommé CLR. Le Framework permet également le développement pour le cloud computing.

 

MONO :

 

Mono est le nom donné à la partie du Framework dédiée aux applications Android et iOS. Il s’agit d’une implémentation open source du Framework .NET et prend son origine à travers une large communauté de développeurs.

 

.NET (Core) :

 

Il s’agit d’une implémentation du Framework .NET repensée pour le développement Cloud tout en restant compatible avec le Framework .NET originel.

Il est possible de créer des applications et services Web utilisant ou non l’internet des objets (IoT). Le Framework .NET Core intègre également les développements smartphone et tablette.

Les applications et services ainsi crées sur les outils de développement précédemment cités peuvent être déployés sur le cloud ou sur serveur.

 

Les packages NuGet

 

Le but de NuGet est de proposer un mécanisme de partage et d’exploitation de code permettant ainsi de mettre à disposition des outils de développement supplémentaires. Le code compilé de ces outils est regroupé dans des packages ensuite déployés via NuGet.

Pour faire simple, un package NuGet est un fichier ZIP avec l’extension .nupkg qui contient le code compilé (donc une DLL), d’autres fichiers liés à ce code ainsi qu’un manifeste descriptif.

Voici quelques exemples de packages NuGet disponibles :

  • Azure Tools : Permets de gérer des composants Azure directement dans le code.
  • C# : Support de base du langage C#
  • Vetur : Boite à outils pour le langage Vue.js
  • GitHub Repositories : Boite à outils pour l’utilisation de GitHub.

 

Azure

 

Azure est une plateforme comportant plus de 200 produits et services cloud permettant de mettre en place des solutions clés en main.

Parmi ces produits, il en existe un certain nombre orienté .NET notamment la création et la gestion d’applications ou de fonctions d’orchestration et de planification.

De ce fait, il existe bon nombre de packages NuGets orientés Azure qu’il est possible d’intégrer dans une solution .NET afin de faciliter la conception et la modification de code des applications et fonctions créées sur le cloud.

 

Voici quelques exemples

 

Voici quelques lignes de codes et captures d’écrans illustrant l’utilisation du Framework .NET et son écosystème :

 

Outils de développement : Visual Studio

 

Outils de développement Visual Studio

 

Les packages NuGets :

 

Les packages NuGets

Utilisation des composants .NET Core :

 

Utilisation des composants .NET Core

 

Si vous avez un projet .NET ou si vous souhaitez en savoir plus sur ce Framework, n’hésitez pas à prendre contact avec nos experts dès aujourd’hui.

Contactez-nous dès aujourd’hui