Introduction à .NET
Un article de Games Creators Network.
Le framework .Net est une plateforme de développement créée par Microsoft. Ce framework permet de développer des applications en faisant abstraction du système d'exploitation sous-jacent. Bien que créée par Microsoft, les applications développées avec .Net ne sont pas limitées aux systèmes d'exploitation Windows.
Sommaire |
[modifier] Common Language Runtime
[modifier] Common Type System
Le Common Type System (CTS) est une spécification qui définit l'utilisation des types dans le CLR. L'interêt majeur est la facilité de mise en oeuvre de l'interopérabilité entre les différents langages supportés par .Net. Par exemple le type bool de C# correspond exactement au type BOOLEAN du langage EIFFEL. De plus, grâce au CTS le runtime peut assurer la cohérence dans l'utilisation des types dans les différents langages. De ce fait le runtime peut garantir que les programmes seront exécutés sans problème, sans écrasement accidentel de la mémoire, sans corruption de la pile et sans accès aléatoire à la mémoire.
[modifier] Common Language Specification
Le Common Language Specification (CLS) définit les règles assurant l'interaction des différents langages supportés par .Net. Il stipule comment les types de données doivent être exposs et organisés pour assurer la cohérence entre les diférents langages. Il ne s'occupe absolument pas de l'organisation interne des applications, seulement de leur comportement exposé publiquement. Certains langages par exemple ne supporte pas les types signés et non-signés de la même taille, c'est pourquoi le CLS exclu l'utilisation des types de données scalaires non-signés du C# (uint,ulong,ushort) à l'exception du type byte. Si votre application respecte scrupuleusement le CLS on dit alors qu'elle est compatible CLS. La compatibilité CLS est souhaitable, mais elle peut aussi limiter les possibiltés offertes par un langage.
[modifier] Langage Intermédiaire
Le Langage Intermédiaire, ou MSIL (MicroSoft Intermediate Language), est le langage dans lequel est compilé toute application développée pour .Net. Lors de l'exécution de l'application le code MSIL sera compilé en code natif par le JIT. L'utilisation d'un langage intermédiaire facilite l'interopérabilité du code entre les différents langages supportés par .Net.
[modifier] Compilateur JIT
Le compilateur Just In Time (JIT) se charge de traduire le code intermédiaire en code directement exécutable par le système d'exploitation. Comme son nom l'indique, il compile le code en temps réel au fil de l'exécution du programme. Ce compilateur est très optimisé et permet d'obtenir des performances quasi-égale à du code natif.
[modifier] Garbage Collector
Le ramasse miettes (Garbage Collector) est le mécanisme qui gère la mémoire du framework .Net. La gestion de la mémoire est automatique et c’est le framework qui va décider quand détruire les objets. La mémoire est divisée en trois niveaux, appelés générations, toutes les allocations de mémoire se font dans le premier niveau. Quant celui-ci est rempli, le ramasse miettes va libérer la mémoire de tous les objets plus utilisés et va déplacer les objets restants dans le second niveau. Quant le second niveau est plein, le processus recommence et les objets survivants sont transférés au troisième niveau. Chaque passe du ramasse miettes est coûteuse en performance et il faut faire attention à gérer correctement la mémoire. Il est possible de forcer le passage du ramasse miettes sur une ou toute les générations.
[modifier] Assemblage
Un assemblage (assembly) est un soit un programme exécutable (.exe) soit une bibliothèque de classes (.dll). L’assemblage exporte les classes et méthodes public de manière visible dans les autres programmes. Les éléments private ou internal ne peuvent être accédés de l’extérieur de l’assemblage. Les assemblages .Net sont entièrement auto-descriptifs, des informations concernant les classes et les méthodes sont intégrés à l’assemblage. La version et la culture sont également stockés dans l’assemblages. Grâce à toutes ces informations le déploiement et l’utilisation des assemblages est très simple, plus besoin d’inscrire des informations dans le registre.
[modifier] Global Assembly Cache
Le GAC (Global Assembly Cache) est le répertoire où sont stockés tous les assemblages standards. Sous Windows XP, le chemin du GAC est <XPDrive>:\Windows\assembly. Grâce à ce répertoire n'importe quelle application a accès aux assemblages standards sans avoir recours aux variables d'environnement ou au registre.

