SUPINFO International University

SUPINFO Institute of Information Technology
Laboratoire Microsoft




Tous les Articles du Laboratoire Microsoft

Présentation de la nouvelle architecture Visual Studio.NET
Accueil > Articles > Développement
Auteur 

2,7/5

Assez Bien


47218
19/52

Présentation de la nouvelle architecture Visual Studio.NET

Pourquoi Visual Studio.NET ?

L'un deux points forts de la stratégie de Microsoft est la standardisation, aussi bien du point de vue de l'utilisateur que de celui du développeur. Pour le développeur travaillant avec Visual Basic et MS Office, la première étape a consisté à utiliser le même langage VBA et le même environnement de développement.

Suite à l'avènement du Net, les applications Internet se sont vite imposées, engendrant une nouvelle gamme d'outils de développement, basée sur l'environnement Internet.

Le besoin de portabilité et d'intégration a en outre fait émergé la nécessité de disposer de nouveaux standards ouverts tels que XML.

Pour répondre efficacement à cette évolution, Visual Studio a été entièrement remanié de manière à standardiser les méthodes de développement à destination de ces deux environnements qui cohabitent de plus en plus étroitement aujourd'hui :

  • Les applications Windows.
  • Les applications Internet.

Dans les deux cas, une application se compose de fenêtres nommées Forms. Pour les applications Windows, il s'agit de WinForms tandis qu'il s'agit de WebForms pour les applications dédiées au Web. Si les caractéristiques de ces deux types de Forms sont très différentes, le tour de force de Visual Studio.NET consiste à rendre le développement similaire dans les deux cas. Visual Studio.NET regroupe ainsi des fonctionnalités telles que la conception de l'interface utilisateur, l'édition du code, la mise au point (généralement nommée Débogage), système d'aide, etc., dans un même environnement intégré pour développer les deux types d'applications.

RemarqueInternet fonctionne sur un schéma Client/Serveur. Dans lequel le navigateur représente le client tandis que le serveur est généralement le site consulté. Une application Internet peut donc fonctionner du côté client et/ou du côté serveur. Ceci induit donc de nouveau deux types d'applications qui peuvent être développées au sein de Visual Studio.NET : les applications fonctionnant du côté client (c'est-à-dire dans le navigateur) et les applications fonctionnant sur le serveur Web MS Internet Information Serveur (IIS). Les premières sont basées sur des WebForms tandis que les secondes sont basées sur des WebServices.

[ Retour en début de page ]

Visual Basic.NET

Depuis la version 1 de Visual Basic, les différentes versions qui se sont succédées ont maintenues une compatibilité ascendante, tout en intégrant progressivement des fonctionnalités de plus en plus riches. Bien entendu, les techniques de développement ont considérablement évoluées depuis 10 ans, notamment avec la programmation orientée objets (POO).

Un certain nombre de "lourdeurs" ont donc subsistées au fil des versions jusqu'à la version 6 afin de maintenir cette compatibilité ascendante. Par ailleurs, si Visual Basic est depuis le début un langage permettant la manipulation d'objets existants, il n'a jamais répondu à 100% à la définition d'un langage complètement orienté objet au même titre que des langages tels que le C++ ou Java, même si la version 6 s'en rapprochait.

Visual Basic s'est donc retrouvé, avec cette version 6 à un paradoxe. D'un côté en effet, l'importante communauté des développeurs familiarisés avec ce langage ont pu faire évoluer leurs applications en minimisant la réécriture tandis qu'une autre communauté, toute aussi importante de développeurs, reprochaient justement à Visual Basic ces "lourdeurs" et ces limitations en terme de POO.

Compte tenu de la nécessité de travailler dans un environnement standard pour développer différents types d'applications, Visual Basic.NET a donc du faire peau neuve, au détriment de la compatibilité de la plus grande partie des applications écrites avec les versions antérieures.

Autrement dit, Visual Basic.NET s'est affranchi de ses lourdeurs pour devenir un véritable langage supportant la POO au même titre que le langage C++. Par conséquent, si vous avez déjà travaillé avec une des versions précédentes de Visual Basic, beaucoup de changements et nouveautés que nous allons découvrir progressivement dans ce Tutorial, sont au programme !

Le langage IL

Du fait que Visual Basic.NET dispose à présent des même capacités que le langage MS C++, Miscrosoft, n'a donc pas hésité à pousser la standardisation de manière à ce que tous les langages compatibles avec Visual Studio.NET génère un même pseudo-code intermédiaire nommé IL (Intermediate Language ou encore MSIL pour Microsoft Intermediate Language)  avant l'étape de compilation finale.

Terminologie : Le langage IL est aussi désigné par l'acronyme CLS signifiant Common Language System. Visual Studio.NET permet donc de développer avec n'importe quel langage compatible avec l'architecture .NET présentés à la page suivante. Parmi ces langages, citons, en plus de Visual Basic, le C++ évoqué ci-dessus, mais aussi JScript, une évolution du langage JavaScript amélioré par MS et le tout dernier né des langages de la firme de Redmond, le langage C# qui reprend la syntaxe du langage C++.

Ceci permet donc de compléter notre précédent schéma de la manière suivante :

[ Retour en début de page ]

Des objets et des classes

Nous savons à présent que Visual Basic.NET est un langage de programmation orienté objet à part entière. Avant d'aller plus loin, il est donc essentiel de définir quelques termes indissociables de ce type de programmation.

Même si nous reviendrons de manière plus formelle sur la notion d'objet, il faut savoir qu'ils sont partout en informatique (comme dans notre environnement naturel d'ailleurs). Ainsi, une fenêtre est un objet, qui contient à son tour des objets tels que des zones de texte, des boutons de commande, etc. Cette notion n'est donc pas difficile à assimiler.

La notion de classe

Venons en à présent à la notion de classe. Il existe bien entendu différents types d'objets. En reprenant les exemples énumérés ci-dessus, les zones de texte et les boutons de commande sont deux types d'objets différents, qui n'ont pas les mêmes caractéristiques, ni le même comportement. La notion de classe correspond en fait au type de l'objet. Autrement dit, on ne parle pas de types d'objets, mais de classes d'objets.

Sachant que nous avons parlé de caractéristiques et de comportement, une classe définit précisément les caractéristiques et le comportement des objets associés à cette classe.

Cette notion de classe est très importante, car elle sert à créer des objets, un peu comme un moule qui sert à créer des gâteaux. Finalement, l'action qui consiste de créer un objet à partir d'une classe s'appelle une instanciation. On peut donc dire que chaque objet est une instance de la classe dont il est issu.

Les classes de base

Si tous les langages disponibles dans Visual Studio.NET sont capables de créer des objets spécifiques, la plupart des applications reposent cependant sur des objets et donc des classes prédéfinies au niveau du système, dites classes de base. Ces classes sont réparties en bibliothèques correspondant à ce que l'on appelle des espaces de noms. Il existe ainsi une bibliothèque de classes de base pour les applications WinForms, une pour les applications WebForms, une pour gérer la sécurité, une pour gérer le réseau, etc.

Ces classes de base constituent par conséquent la fondation de l'architecture .NET, dont nous pouvons compléter le schéma de la manière suivante :

[ Retour en début de page ]

L'Architecture .NET

Pour terminer cette présentation de l'architecture .NET (également appelée Framework.NET), il faut savoir qu'une classe est en réalité constituée de code, qui n'est donc pas directement exécutable. Il manque donc un dernier niveau qui se chargera de l'exécution des programmes, en intégrant la gestion de l'allocation mémoire.

Ce dernier niveau, appelé Common Language Runtime (CLR) vient compléter le schéma ci-dessus et peut être représenté comme étant le niveau le plus bas, puisqu'il représente l'exécution de l'application.

[ Retour en début de page ]

Note : Cet article est prolongé par l'article intitulé Les fonctionnalités de Visual Studio.NET.

Les fonctionnalités de Visual Studio.NET




En Savoir Plus 
Evaluez cet article 


Pour afficher ou poster un commentaire, cliquez sur ce lien : Forum-Microsoft



Retrouvez ci-dessous les autres sections du Laboratoire Microsoft