Visual Basic.NET Les versions et évolutions de la plate­forme .NET

Principe de fonctionnement du Common Language Runtime 

Dans les applications Windows traditionnelles, le système prend directement en charge l’exécution du code. En effet celui ci est généré par le compilateur associé au langage de programmation utilisé pour la conception de l’application. Le résultat de cette compilation correspond à un fichier binaire contenant le code spécifique pour le microprocesseur et  le  système  d’exploitation avec lesquels l’application  doit  fonctionner.  Aucune  compatibilité  avec  un  autre  type  de  microprocesseur ou système d’exploitation n’est possible. Pour s’en convaincre, il suffit de tenter l’exécution d’une  application prévue pour Windows sur un système Linux pour vérifier cette incompatibilité. Si l’on tente l’exécution sur  une station de travail SUN, qui utilise un type de microprocesseur radicalement différent, le résultat est identique. La  solution pour s’affranchir de ces problèmes consiste à générer à la compilation, non pas un code spécifique, mais un  code générique, indépendant de toute plate­forme logicielle ou matérielle. Ce code est, au moment de l’exécution,  confié à une machine virtuelle qui en assure l’exécution. Ce code s’appelle Microsoft Intermediate Language (MSIL).  Lors de l’exécution de l’application, ce code est pris en charge par la machine virtuelle qui en assure la traduction en instructions spécifiques pour le microprocesseur de la machine. Cette traduction n’est pas effectuée, en bloc dès le  début de l’application, mais uniquement au fur et à mesure des besoins. En effet, pourquoi perdre du temps à traduire  du code MSIL, s’il n’est jamais utilisé par la suite. C’est pour cette raison que le compilateur utilisé pour cette traduction  s’appelle compilateur Just In Time (JIT).  Les avantages de cette solution sont évidents car pour exécuter une même application sur plusieurs plates ­formes matérielles et ou logicielles, il suffit d’obtenir la machine virtuelle capable d’effectuer la traduction. Cette machine  virtuelle est disponible pour tous les systèmes Microsoft. Le projet Mono propose une version de la machine virtuelle  pour les plates ­formes suivantes :
● Linux
● Mac OS X
● Sun Solaris
● BSD ­ OpenBSD, FreeBSD, NetBSD

Les services du Common Language Runtime 

La machine virtuelle ne se contente pas d’effectuer la traduction du code. Le code MSIL est aussi appelé code managé,  ce qui sous-entend qu’un certain nombre d’opérations supplémentaires seront réalisées sur le code au moment de  l’exécution. La figure ci­ après reprend l’ensemble des fonctionnalités disponibles dans le Common Language Runtime.

Class Loader
Il gère le chargement en mémoire des instances de classes.
IL To Native Compilers
Il convertit le code intermédiaire (MSIL) en code natif.
Code Manager
Il gère l’exécution du code.
Garbage Collector
Il assure la gestion de la mémoire en surveillant les instances de classes qui ne sont plus accessibles.
Security Engine
Il permet la vérification de l’identité de la personne demandant l’exécution du code et accepte ou non cette exécution,  en fonction des autorisations accordées.
Debug Engine
Il permet le débogage de l’application, en prenant en charge par exemple l’exécution en pas à pas du code.
Type Checker
Il surveille l’utilisation de variables non initialisées et les conversions entre des variables de type différent.
Exception Manager
Il fournit la gestion structurée des exceptions en liaison avec Windows Structured Exception Handling (SEH). Cette  technique permet une gestion individuelle de chaque exception plutôt qu’une gestion globale.
Thread Support
Il propose un ensemble de classes permettant la réalisation d’applications multithread.
COM Marshaler
Il  permet  de  traduire  des  appels  vers  des  composants  COM,  assurant  par  exemple  la  conversion  des  types  de  données.
Base Class Library Support
Il fournit l’accès aux services disponibles sur le système d’exploitation hôte.

La Base Class Library

Le Framework .NET met à la disposition des développeurs un ensemble d’outils lui permettant d’obtenir une solution  rapide à une majorité de problèmes rencontrés lors de la réalisation d’une application.  Ces outils sont disponibles sous forme de classes. À l’inverse des bibliothèques de code des langages de la génération  précédente,  qui  n’étaient  qu’une  liste  interminable  de  procédures  ou  fonctions,  la  bibliothèque  de  classes  est  organisée sous forme d’une structure hiérarchisée. L’élément essentiel de cette hiérarchisation est l’espace de nom  (Namespace). Il permet le regroupement logique de classes ayant des points communs. Par exemple, on retrouve dans  le namespace System. Data toutes les classes utilisables pour accéder à une base de données.  Cette bibliothèque de classes est bien sûr indépendante d’un quelconque langage de programmation. Elle permet donc  le mélange de différents langages au cours du développement d’une application. Elle est également parfaitement  intégrée à Visual Studio, ce qui nous procure un confort d’utilisation appréciable avec des outils comme Intelissence.  Comme cette librairie est orientée objet, elle est facilement extensible par le biais de relations d’héritage.  La bibliothèque contient une quantité impressionnante d’espaces de nom et de classe, tant et si bien que, au cours de  vos développements avec Visual Basic, il y a de fortes chances pour que vous n’utilisiez jamais certains d’entre eux.  Les espaces de noms les plus utilisés sont les suivants :  System C’est l’espace de nom racine pour les types de données dans le Framework .NET. Il contient notamment la définition de  la classe Object, qui est l’ancêtre de tous les types de données du Framework .NET. System.Windows Il contient l’ensemble des éléments permettant la création d’interfaces utilisateurs Windows.
System.Web Il contient toutes les ressources nécessaires pour la création d’applications Web, avec par exemple, les classes de la  technologie  ASP.NET ou les classes utilisables pour la création de services Web XML.
System.data
Il contient un ensemble de classes spécialisées dans l’accès aux bases de données, avec le support de ADO.NET.
System.Xml
Le langage Xml est devenu omniprésent et cet espace de nom contient les classes assurant la manipulation de  documents Xml.

Les versions et évolutions de la plate­forme .NET

La première version (1.0) de la plate­forme .NET sort en janvier 2002 avec Visual Studio 2002. Cette version est  rapidement  remplacée par la version 1.1 qui corrige quelques petits problèmes de jeunesse de la version précédente   et ajoute des technologies qui n’étaient auparavant disponibles qu’en tant qu’installations indépendantes et sont  désormais incluses. Les apports de cette version sont principalement :
● Les Contrôles mobiles ASP.NET (anciennement Microsoft Mobile Internet Toolkit) qui étendent le Framework .NET  par  la  prise  en  charge  des  périphériques  mobiles  (sans  fil)  tels  que  téléphones  portables  et  assistants  numériques personnels.
● Le  fournisseur  de  données  .NET  Framework  pour  ODBC  et  le  fournisseur  de  données  pour  Oracle  qui  auparavant n’étaient disponibles que par téléchargement, sont désormais livrés avec le .NET Framework.
● La prise en charge de la nouvelle mise à jour du protocole Internet couramment appelée IP version 6 ou plus  simplement IPv6. Ce protocole est conçu pour augmenter sensiblement l’espace d’adressage qui est utilisé  pour identifier les points d’entrée de communication d’Internet.
Elle est disponible avec la version 2003 de Visual Studio en avril 2003.  Il faut attendre novembre 2005 pour voir arriver la version 2.0 associée à la sortie de Visual Studio 2005. Cette version  apporte de nombreuses améliorations :
● La prise en charge de la nouvelle génération d’ordinateurs 64 bits permettant la création d’applications plus  performantes.
● Une évolution majeure dans l’accès aux bases de données avec ADO.NET 2.0 améliorant l’utilisation de XML.
● Le développement d’applications Web est également de plus en plus facile avec la nouvelle version de ASP.NET  proposant une multitude de nouveaux contrôles.
● L’utilisation de la classe Console est optimisée avec l’ajout de nouvelles propriétés et méthodes (gestion des  couleurs, effacement, position du curseur…).
● Le .NET Framework 2.0 réintroduit la fonctionnalité Modifier & Continuer permettant à l’utilisateur ui débogue  une application dans Visual Studio de modifier le code source en mode arrêt. Une fois les modifications du code  source appliquées, l’utilisateur peut reprendre l’exécution du code et observer l’effet.
● L’apparition de la notion de générique qui permet aux classes, structures, interfaces, méthodes et délégués  d’être déclarés et définis avec des paramètres de type non spécifié ou générique au lieu de types spécifiques.  Les types réels sont spécifiés ultérieurement lors de l’utilisation.
La version 3.0 arrive en novembre 2006 et apporte de nouvelles technologies tout en restant à la base une version  2.0. Ces technologies sont disponibles sous forme de téléchargements qui viennent s’intégrer au framework 2.0. Voici  un bref aperçu de ces nouveautés :
●Windows Presentation Foundation (WPF) représente le nouveau système d’interfaces graphiques. Il se base sur  un moteur de rendu vectoriel et permet une séparation plus claire entre la définition de l’interface graphique  d’une application et son code. Il utilise pour cela le langage XAML (eXtensible Application Markup Language). Les  tâches peuvent ainsi être plus facilement réparties entre designers et développeurs.
● Windows  Communication  Foundation  (WCF)  constitue  la  nouvelle  base  de  développement  d’applications  distribuées. Il facilite la communication entre applications en ajoutant une couche d’abstraction uniformisant les  techniques de communication entre applications (Services Web, .NET Remoting, Microsoft Transaction Server, et  Microsoft Message Queuing,…).
●Windows Workflow Foundation (WF) est composé d’un modèle de programmation, d’un moteur d’exécution et  d’outils pour intégrer des workflows dans une application. Un workflow peut être défini comme un ensemble  d’actions ou étapes s’exécutant dans un ordre prédéfini. Ces actions peuvent s’enchaîner en fonction de  conditions, d’interactions avec des processus informatiques ou en fonction d’interactions humaines.
●Windows Cardspace fournit une nouvelle technique aux utilisateurs pour s’identifier dans une application. Elle a  la même vocation que Microsoft Passport mais n’est pas spécifique aux applications Microsoft (Hotmail, MSDN…).

Cours gratuitTélécharger le cours complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *