> Tech > Visual Studio .NET et le SDK Microsoft .NET Framework

Visual Studio .NET et le SDK Microsoft .NET Framework

Tech - Par Renaud ROSSET - Publié le 24 juin 2010
email

Aucune présentation de Visual Studio .NET ne serait complète sans mentionner le SDK (Software Development Kit) Microsoft .NET Framework. Quoique différents, les deux produits sont intimement associés. Visual Studio .NET est un outil de développement destiné à  écrire des applications ; le .NET Framework fournit l'infrastructure nécessaire pour exécuter ces

Visual Studio .NET et le SDK Microsoft .NET Framework

applications.
Techniquement parlant, on n’a pas besoin
de Visual Studio .NET pour écrire des applications
.NET Framework. A tel point que, si
vous en aviez le temps, vous pourriez fort
bien les écrire en Notepad ou tout autre
éditeur de texte et utiliser les outils de ligne
de commande SDK .NET Framework pour
les compiler. Mais ce serait préférer une petite
camionnette à  la nouvelle BMW Z3 rutilante
représentée par Visual Studio .NET.
Certaines des principales améliorations du
SDK .NET Framework se situent dans les
nouveaux langages de type .NET.
Examinons trois d’entre eux.

C#: Un C plus sûr et plus
productif

Fondé sur une syntaxe qui combine les
meilleurs aspects de Java et C++, C# est le langage standard de facto pour le développement
.NET. Microsoft a utilisé le code
géré écrit en C++ pour développer le CLR
(Common Language Runtime), qui est la
couche d’exécution que les applications
.NET utilisent pour interagir avec l’OS.
Microsoft a conçu C# de manière à  ce qu’il
soit plus sûr et plus productif que son prédécesseur,
C++. Tout d’abord, C# est intégré
à  l’environnement de conception, ce
qui lui donne les mêmes possibilités de design
visuel dont a joui pendant longtemps
VB (Visual Basic). De plus, C# incorpore de
nombreuses fonctions qui ont fait de Java
un langage de développement d’entreprise
de premier plan. Les variables C# sont de
type sécurisé (c’est-à -dire, qu’on ne peut
accéder aux types de données que d’une
manière prédéfinie) et automatiquement
initialisées par l’environnement. Le ramasse-
miettes (Garbage collection)
épargne au programmeur la gestion manuelle
de la mémoire. Et C# supporte le
modèle de traitement d’erreurs structuré
Throw… Try… Catch. Toutefois, alors que
Java a toujours été gêné par le refus de Sun
Microsystems de le remettre à  un organisme
chargé des standards, Microsoft a fourni C# et la CLI (Common Language
Infrastructure) à  ECMA, l’organisme de
standards international. Ce standard ouvert
permet donc aux ISV (independent software
vendors) de développer des moutures
C# et CLR.

Visual Basic .NET: VB orienté
objet

VB a lui aussi subi d’importantes modifications
dans son évolution vers un langage de
développement .NET. En fait, les changements
apportés à  Visual Basic .NET sont tellement
importants qu’il vaut mieux le considérer
comme un langage entièrement
nouveau, avec une syntaxe familière.
Contrairement aux releases VB antérieures,
Visual Basic .NET est entièrement orienté
objet. Fidèle à  la philosophie du langage
croisé .NET, Visual Basic .NET peut hériter
directement d’objets créés dans d’autres
langages .NET et peut lui-même créer des
classes et des objets dont d’autres langages
.NET peuvent hériter. Visual Basic .NET
supporte également d’autres fonctions
orientées objet comme les remplacements
de méthodes, la surcharge et le polymorphisme.
Autre amélioration intéressante: la possibilité de créer des applications
multithreaded. L’étendue des améliorations
du langage dans Visual Basic
.NET dépasse le cadre de cet article,
mais la figure A montre quelques différences
notables entre VB 6.0 et Visual
Basic .NET.

Visual Studio .NET inclut un wizard
de migration d’applications permettant
de faire migrer vos projets VB
existants sur Visual Basic .NET. Mais cet
outil m’a déçu: au lieu de convertir les
composants COM standard dans leurs
équivalents .NET natifs, le wizard tente
simplement de donner un habillage
COM aux contrôles ActiveX de l’ancien
projet – en vous laissant le plus gros du
travail.

Comme on peut s’y attendre, pratiquer
le morphing VB dans Visual
Basic .NET a obligé Microsoft à 
quelques compromis. Un premier résultat
est la perte de l’environnement de design interprété, dans lequel le programme
actif exécute immédiatement les
changements apportés à  l’environnement
du code. Cette fonction rend l’environnement
de design très productif parce
qu’elle court-circuite le cycle « edit-compile-
run-debug ». En tant que langage compilé
(et non interprété), Visual Basic .NET
n’offre pas cette possibilité, mais il augmente
la puissance du langage et améliore
les performances. Malgré son manque de
rétro-compatibilité avec des projets VB
existants, Visual Basic .NET, conjointement
au SDK .NET Framework, procure d’importantes
avancées dans les secteurs du
développement de langage pour Visual
Studio .NET et C#.

VC++ : Code géré et non
géré

Contrairement aux autres langages .NET,
qui ne créent que du code géré qui a besoin
du CLR pour s’exécuter, Visual C++
(VC++) peut produire à  la fois du code
géré et non géré. Les types de projets du
nouveau code géré incluent les projets suivants:
Managed C++ Application,
Managed C++ Class Library, Managed
C++ Web Service, et Managed C++
Empty. Comme dans les versions précédentes
de VC++, les projets de code non
géré incluent un Active Template Library
(ATL) Project, un ATL Server Project, un
Custom Wizard, un Extended Stored
Procedure DLL, un Makefile Project, un
MFC ActiveX Control, un MFC Application,
un MFC.DLL un MFC ISAPI Extension DLL
et un Win32 Project. Dans la catégorie non
gérée, on trouve aussi un nouveau ATL
Web Server Service Project. VC++ ne partage
pas l’environnement de design visuel
que C# et Visual Basic .NET supportent,
mais ses projets de code non géré sont entièrement
rétro-compatibles avec les projets
VC++ existants. VC++ a toujours été
un langage entièrement orienté objet et
les projets gérés VC++ partagent les améliorations
de productivité de langage
croisé que l’on trouve dans le .NET
Framework. Avec VC++, vous pouvez
créer des objets dont pourront hériter des
solutions Visual Basic .NET ou C#.

FIGURE A: Changements apportés à  Visual Basic .NET

Fonctions VB 6.0 manquantes dans Visual Basic .NET

Go Sub et On x Go To ont été supprimées

Les propriétés d’objet par défaut ont été supprimées

Le mot-clé Let a été remplacé par le mot-clé Set

La possibilité de faire Dim de multiples types de données par ligne a été supprimée

Fonctions modifiées dans Visual Basic .NET

La méthode par défaut pour transmettre des paramètres est changée de ByRef à  ByVal

Currency Data Type est remplacée par Decimal Data Type

Variant Data Type est remplacée par Object Data Type

Debug.Print a été remplacée par Debug.Write

Nouvelles fonctions ajoutées à  Visual Basic .NET

La possibilité d’initialiser des valeurs sur l’instruction Dim variables

La possibilité d’initialiser des valeurs sur l’instruction Dim array

La méthode Import met des namespaces à  la disposition d’un module

Le mot-clé Inherits spécifie une classe de base de laquelle on hérite des attributs

Le mot-clé Namespace sert à  attribuer le namespace d’un module
Le mot-clé Overloads distingue entre les versions multiples d’un membre

Les mots-clés Try…Catch…Finally…Throw ajoutent un traitement d’erreur structuré à  VB

Le mot-clé WebMethod indique d’une méthode est disponible comme un service Web

Téléchargez cette ressource

Préparer l’entreprise à l’IA et aux technologies interconnectées

Préparer l’entreprise à l’IA et aux technologies interconnectées

Avec la « quatrième révolution industrielle », les environnements hyperconnectés entraînent de nouveaux risques en matière de sécurité. Découvrez, dans ce guide Kaspersky, comment faire face à cette nouvelle ère de vulnérabilité.

Tech - Par Renaud ROSSET - Publié le 24 juin 2010