Le framework dotnet

Le Framework .Net

Version pdf

Introduction. Pourquoi .Net?

Cela fait une dizaine d'années que le monde du développement est bouleversé d'une part par la programmation objet et d'autre part par les applications web. Java a réussi à proposer une solution unique à ces deux évolutions majeures. Les qualités de Java sont bien connues : "propreté" du code en regard des concepts de la programmation objet, stabilité de la plateforme, utilisation d'une couche logicielle (la machine virtuelle) permettant l'indépendance du code par rapport au système d'exploitation, framework complet pour des application web, gratuité du produit. Ses défauts sont souvent rappelés : inadaptation à des applications client/serveur "classiques" (non web), lourdeur et complexité de l'architecture web, manque de performance sur la couche métier.

Microsoft propose sa propre solution avec l'architecture DotNet. Il m'a paru opportun de tenter cette expérience avec mes élèves de BTS IG, pour plusieurs raisons :

  • l'apprentissage du développement web impose de montrer deux types d'architecture, une "par le bas" utilisant un langage de scripting embarqué (php), l'autre "par le haut" utilisant des frameworks (J2EE avec java ou .Net). Mon expérience de l'enseignement de Java m'ammène à un grand scepticisme sur la crédibilité de l'architecture J2EE pour des élèves de BTS.
  • l'homogénéité de l'environnement de développement (VB.Net) autour du langage C#.
  • le souci pédagogique de concevoir le langage ou le framework choisi comme un moyen d'apprentissage et non un objet en soi.

Qu'est ce que le framework .Net?

C'est une plateforme pour le développement d'applications supportant différentes technologies : mode console, client/serveur classique, application web, applications mobiles. Cette plateforme est gratuite et a vocation à être mise en oeuvre pour un quelconque système d'exploitation (même si la version sous Linux est aujourd'hui anecdotique). Sa grande force réside ainsi dans l'indépendance du code vis à vis du système d'exploitation grâce à un mécanisme identique à la machine virtuelle Java. Par ailleurs .Net offre l'originalité d''utiliser différents langages et ceci au sein d'une même application ( C++, Java, C#, VB, Cobol...)à condition de respecter la CLS (Common Language Specification) décrivant les types communs et spécifications standards. Le framework contient deux choses :

  • une bibliothèque de classes très volumineuse
  • un environnement d'exécution, la CLR (Common Language Runtime) sur laquelle nous reviendons.

fig 1. couches du framework

Common Language Runtime.

Avec les langages compilés (C, C++, Pascal, Cobol... ), la compilation produit du code directement exécutable dans un système d'exploitation particulier et sur un type de machine donné. La rapidité d'exécution est la principale qualité de ces langages, le revers est l'absence de portabilité puisque le code exécutable est marqué par un système d'exploitation précis. Ce type de langage ne saurait satisfaire des applications distribuées dans des environnements hétérogènes. Java comme .Net propose une solution originale : la présence d'un environnement logiciel au dessus du système d'exploitation qui assure l'exécution d'un code "pseudo-compilé". Ainsi le même code pseudo-compilé pourra s'exécuter sur différente machines, c'est pourquoi avec Java on parle de "machine virtuelle", avec .Net c'est la CLR qui joue ce rôle.

La production d'un programme dans . Net suivra les étapes suivantes :

 

fig 2 chaîne de production d'un programme

 

Lorsque l'on compile du code source, .Net ne produit pas du code directement exécutable dans le système d'exploitation mais du code intermédiaire MSIL (Microsoft Intermediate Language). Ce code est indépendant du SE. C'est la phase de compilation par la CLR qui va produire du code natif grace à un compilateur JIT (juste in time). C'est ensuite au système d'exploitation d' exécuter le code. A noter que le fichier d'extension .dll ou .exe généré par le compilateur ne peut être exécuté que sur une machine qui contient le framework .Net et notamment la CLR. Mais à la différence de Java, le fichier contenant le code MSIL ne contient pas que ce seul code intermédiaire mais une partie d'information sur la structure des données, la sécurité, les versions : pour en savoir plus
 

Installation du framework.

L'environnement .Net est gratuit; l'installation nécessite la présence de IIS dans sa version 5 au minimum.

Tester le framework avec C#.

Ouvrir une session DOS et taper la commande qui appelle le compilateur csc.exe, Vous devez obtenir la réponse :

Remarque : la version du framework est peut-être différente, s'en assurer en navigant dans le répertoire c:\winnt\microsoft.net\framework.