.NET : la plateforme multi-langages de Microsoft

.NET : la plateforme multi-langages de Microsoft
Sommaire5 sections
  1. 01L’environnement d’exécution : CLR, MSIL et JIT
  2. 02Les services : la Framework Class Library
  3. 03Un socle multi-langages
  4. 04Le langage C#
  5. 05Visual Studio .NET, l’outil et non le socle

.NET (on prononce « dotnet ») désigne une plateforme de développement proposée par Microsoft pour construire des applications d’entreprise multi-niveaux à base de composants. C’est la réponse de Microsoft à la plateforme J2EE de Sun, portée dès l’origine par une communauté d’utilisateurs dont les retours ont façonné les spécifications. Ces spécifications ont ensuite été ratifiées par l’ECMA (European Computer Manufacturers Association), un organisme international de normalisation, ce qui a permis à des éditeurs tiers de proposer leurs propres implémentations sur d’autres systèmes d’exploitation que Windows.

Dans la pratique, on parle plutôt de « framework » (littéralement « socle ») pour désigner l’ensemble des services et de l’infrastructure d’exécution que .NET met à disposition d’un développeur. Trois briques composent ce socle, et comprendre leur rôle respectif aide à situer où intervient chaque outil quand on travaille avec .NET.

L’environnement d’exécution : CLR, MSIL et JIT

Le cœur du framework est un moteur d’exécution appelé CLR (Common Language Runtime). Il compile le code source de l’application en un langage intermédiaire baptisé MSIL (Microsoft Intermediate Language), un peu à la manière du bytecode d’une machine virtuelle Java. Lors de la première exécution, ce code MSIL est à son tour compilé à la volée en code natif spécifique au système, grâce à un compilateur JIT (Just In Time).

Autour de ce moteur central, deux environnements d’exécution répondent à deux usages différents : ASP.NET pour les applications et services web, et WinForms pour les applications de bureau dites « lourdes ». C’est cette distinction qui explique pourquoi un même socle .NET peut servir aussi bien à faire tourner un site marchand qu’un logiciel de comptabilité installé localement.

Les services : la Framework Class Library

La deuxième brique regroupe les services sous la forme d’un ensemble hiérarchisé de classes, la FCL (Framework Class Library). Cette bibliothèque orientée objet fournit des fonctionnalités toutes prêtes pour les besoins courants d’un développeur : manipulation de fichiers, accès réseau, gestion des collections, sécurité, et bien d’autres. Le SDK (Software Development Kit) fournit l’implémentation concrète de ces classes, prête à être utilisée dans un projet.

Schéma des couches du framework .Net : CLR, langage intermédiaire MSIL et bibliothèque FCL

Un socle multi-langages

Grâce au CLR, la plateforme .NET reste indépendante du langage de programmation utilisé et prend nativement en charge un grand nombre d’entre eux, parmi lesquels C#, C++, Visual Basic, Cobol, Fortran, Eiffel, Pascal, Perl, Python ou encore J#. Cette liste, longue, illustre un principe simple : le CLR ne se soucie pas du langage d’origine, seul compte le MSIL qu’il produit en sortie.

Le langage C#

Parmi tous ces langages, C# occupe une place particulière : il a été développé spécifiquement pour .NET. Il s’appuie sur les principes de la programmation par objets et reste dérivé de C++, dont il reprend les grandes caractéristiques tout en simplifiant nettement l’écriture du code, notamment sur la gestion de la mémoire et la syntaxe des classes.

Visual Studio .NET, l’outil et non le socle

Une confusion revient souvent : Visual Studio .NET ne fait pas partie du framework .NET. Il s’agit d’un environnement de développement intégré, proposé par Microsoft, pour écrire, déboguer et compiler des applications conformes aux spécifications .NET. On peut très bien développer en .NET sans Visual Studio, avec un simple éditeur de texte et le SDK en ligne de commande : ce serait juste beaucoup moins confortable.

Retenez la hiérarchie : le CLR exécute, la FCL fournit les briques logicielles, et un langage comme C# sert à écrire le code source qui sera compilé en MSIL. Visual Studio, lui, reste un outil de confort autour de cet ensemble, pas une pièce du moteur.

Résumer cet article avec :

Partager :