FAQ .NET
FAQ .NETConsultez toutes les FAQ
Nombre d'auteurs : 5, nombre de questions : 57, dernière mise à jour : 15 juin 2021
- Quels langages supportent le Framework .NET ?
- Quel est le meilleur langage pour .NET ?
- Quels outils utiliser pour .NET ?
- Quels outils utiliser pour les différentes versions de .NET ?
- Quoi de neuf en VB.NET ?
- Quoi de neuf en ASP.NET ?
- Quoi de neuf en C++ ?
- Quoi de neuf en ADO .NET ?
- Qu'est-ce que .NET Remoting ?
- Qu'est-ce que le Graphical Device Interface (GDI) ?
- Qu'est ce que Windows Presentation Foundation (WPF) ?
- Qu'est ce que Windows Communication Foundation (WCF) ?
- Qu'est ce que Workflow Foundation (WF) ?
- Qu'est ce que Windows CardSpace (WCS) ?
- Qu'est ce que XAML ?
- Qu'est ce que Linq, Linq to SQL, Linq to Object et Linq to XML ?
- Qu'est ce que ASP.NET Ajax ?
- Qu'est ce que Silverlight ?
Le Framework .NET a été conçu dans un but de compatibilité inter-langage, ce qui signifie qu'un programme écrit en C# pourra utiliser une DLL d'un tout autre langage sans aucune problème. Cette interopérabilité s'étant même à l'héritage.
Cette interopérabilité est due au Common Language Runtime (CLR). Lorsque vous compilez un projet, le compilateur génère un code intermédiaire appelé le Microsoft Intermediate Language (MSIL) et c'est ce langage qui pourra être compris par le CLR lors de l'exécution.
Le Framework .NET supporte évidemment de nombreux langages, voici une liste non exhaustive des plus importants :
- C#
- VB.NET
- C++/CLI
- Delphi.NET
- F#
- J#
- JScript .NET
- IronPython
- PowerShell
Le grand avantage de .NET est que vous pouvez utiliser de nombreux langages VB, C#, C++ aussi bien que d'autres langages tels que le Perl, Pascal, Cobol. Vous avez sûrement entendu que le C# était le meilleur langage pour .NET. En fait c'est le seul langage conçu pour .NET qui n'a donc nécessité aucun portage. Le C# a quelques fonctionnalités que n'a pas VB .NET mais ce n'est pas une raison pour en faire le meilleur langage. Il n'y a pas de meilleur langage sous .NET, vous devez simplement vous familiariser avec le Framework .NET et utiliser le langage qui vous convient le mieux.
Pour développement, il existe la gamme Visual Studio qui est un environnement complet pour développer tout type de projet .NET autour des langages C++, VB.NET, C#, J#, Jscript et ASP.NET.
Il existe différentes versions de Visual Studio sortis lors de chaque version du Framework :
- Visual Studio 2002 pour le Framework 1.0 et 1.1
- Visual Studio 2003 pour le Framework 1.0 et 1.1
- Visual Studio 2005 pour le Framework 2.0 et 3.0
- Visual Studio Orcas (en version Beta depuis 2007) pour la Framework 2.0, 3.0 et 3.5
Si vous ne pouvez pas investir dans Visual Studio .NEYT, des solutions de développement gratuit existent :
- La gamme Express de Visual Studio 2005
- WebMatrix, qui intègre un mini serveur web, permet de développer des pages ASP.NET
- SharpDevelop, qui es un environnement de développement pour le VB.NET et le C#
Borland propose aussi des IDE pour développer avec .NET :
- En 2003, sortie de C# Builder, environnement de développement en langage C# pour le Framework Microsoft .NET
- En 2004, sortie de Delphi 8, pour Microsoft .NET
Cependant, depuis 2006, Borland a annoncé son intention de se séparer de l'activité des IDE et a donc mis en vente ses logiciels Delphin C++ Builder et JBuilder.
Il existe évidemment d'autres outils de développement pour .NET ; ici ne sont cités que les plus utilisés.
Lien : Les meilleurs Outils .NET référencés par la rubrique
Lien : Téléchargez gratuitement les versions express de Visual Studio 2005
Lien : Téléchargez gratuitement l'environnement de développement WebMatrix
Lien : Téléchargez SharpDevelop
En ne prenant compte que de la gamme Visual Studio, voici les EDI à utiliser pour les différentes versions du Framework .NET :
- Visual Studio 2002 pour le Framework 1.0 et 1.1
- Visual Studio 2003 pour le Framework 1.0 et 1.1
- Visual Studio 2005 pour le Framework 2.0 et 3.0
- Visual Studio Orcas (en version Beta depuis 2007) pour la Framework 2.0, 3.0 et 3.5
Lien : La page officielle consacrée à la gamme Visual Studio 2005
Lien : La page officielle consacrée à la gamme Visual Studio 2005 Express
Lien : La page officielle consacrée à la gamme Visual Studio 2008 beta 2
Les modifications apportées à VB.NET sont telles qu'on peu parler d'un nouveau langage, plutôt que d'une simple mise à niveau. Mais ces changements étaient nécessaires, pour offrir aux développeurs les fonctions qu'ils réclamaient depuis longtemps sous Visual Basic. VB.NET est maintenant un véritable langage orienté objet, avec un déploiement simplifié autour d'un environnement de développement cohérent qui peut permettre le développement d'applications traditionnelles, client serveur, et web.
Ceux qui ont déjà fait du VB6 auparavant seront un peu désorientés au début mais s'apercevront vite que VB.NET offre de nombreuses possibilités nouvelles.
Lien : Migrer de VB6 vers .NET
Lien : La Faq VB.NET de Developpez.com
ASP.NET n'est pas une évolution mais une révolution par rapport à ASP 4. Tout d'abord, une page ASP.NET (extension .aspx) n'est plus un script interprété par le serveur, mais une dll compilée qui sera interprétée par le filtre isapi de IIS, lequel enverra un flux html vers le navigateur coté client.
En ASP 4 et 3, votre page asp contenait à la fois le code coté serveur (asp), le code coté client (vbscript ou javascript) et le code HTML. Le principal inconvénient est que quand les scripts deviennent compliqués le code est très difficile à relire et à maintenir. Avec ASP.NET vous avez le code du " design " qui est séparé du code gérant les évènements (code-behind) coté serveur qui peut être en VB.NET ou en C#.
Un autre défaut des anciennes versions d'ASP est que les différents objets des formulaires de vos pages asp étaient assez difficiles à manipuler, et que pour faire des contrôles de validation sur ces objets il fallait insérer une couche de code côté client sur ces objets. Grâce au Webform, en ASP.NET ces objets sont facilement manipulables et il y a des webforms spécifiques aux contrôles de saisies. ASP.NET est maintenant parfaitement intégré à Visual Studio .NET et permet de développer vos pages rapidement avec du code structuré, en VB.NET ou en C#.
Lien : Le site officiel sur ASP.NET
Lien : La Faq ASP.NET de Developpez.com
C++ peut être utilisé dans trois modes : managé, non managé et natif. Il est possible de mixer ces modes au sein d'un même projet. Cela permet d'écrire des passerelles entre la CLR et Win32 et permet également d'obtenir directement de l'opcode (sans passer par le compilateur JIT de la CLR) et donc de contrôler totalement le microprocesseur si votre projet le nécessite.
Visual Studio .NET offre les mêmes outils que Visual C++ 6.0 pour créer des applications win32/MFC/ATL (éditeurs de ressources, wizard MFC...). Par contre aucun générateur de code managed C++ n'est présent, il faut construire les boîtes de dialogue manuellement. La bonne approche est d'utiliser C# pour la présentation et C++ pour la logique métier.
Lien : La Faq C++ de Developpez.com
ADO .NET est le nouvel ensemble de classes permettant l'accés aux données de Microsoft. Ces classes assurent un meilleur support du mode déconnecté, une optimisation des performances en utilisant des API natives et un meilleur support des applications Web et Distribuées (via XML).
Parmi les nouveautés de nombreuses nouvelles classes voient leurs arrivées :
Précisons que si les objets Connexion et Command existent toujours ils ont subis de nombreuses transformations ; Quant à l'objet RecordSet, il n'existe plus.
- DataReader : Objet permettant de lire ou de modifier des données en mode connecté. Il utilise un curseur en lecture seule et avance seulement (firehose cursor)
- DataSet : Objet représentant un ensemble de données en mode déconnecté. Il peut être constitué de plusieurs tables ainsi que des relations et contraintes existant entre elles.
.NET Remoting est une technologie permettant l'implémentation d'applications distribuées. Elle est comparable à RMI en Java.
Le principe général est d'exposer sur une partie serveur des objets accessibles par des clients distants.
Les objets ou leur référence pourront donc transiter via le réseau grâce au principe du marshalling (empaquetage). Les protocoles et formatages possibles sont paramétrables : TCP+Binaire ou Http+Soap par exemple. Par défaut, le framework .NET propose Tcp et Http, mais la technologie .NET Remoting permet à des éditeurs tiers de réaliser leurs propres implémentations et rend donc .NET Remoting potentiellement ouvert.
Le Common Language Runtime recourt à une implémentation avancée de l'interface graphique (GDI, Graphics Design Interface) Windows, appelée GDI+. GDI+ vous permet de créer des graphiques, de dessiner du texte et de manipuler des images graphiques en tant qu'objets. Cette interface est conçue pour allier performances et simplicité d'utilisation. Vous pouvez l'utiliser en vue du rendu des images graphiques sur des Windows Forms et des contrôles. GDI+ a entièrement remplacé GDI et constitue aujourd'hui la seule option disponible pour le rendu des graphiques par programme dans les applications Windows Forms.
Lien : Pour en savoir plus sur GDI+
Windows Presentation Foundation (WPF) est la nouvelle technologie de création des interfaces graphiques.
Elle permet de séparer la conception des interfaces graphiques de l'ajout du code logique grâce à l'introduction du XAML (eXtensible Application Markup Language) pour la description de l'interface graphique.
WPF repose sur un nouveau moteur de rendu: le Graphics Processing Unit. Ce moteur permet un rendu vectoriel améliorant ainsi la qualité finale. De plus les fonctionnalités de lecture de média comme de la video ou du son sont directement pris en charge par WPF.
Lien : Le site officiel consacré à Windows Presention Foundation
Windows Communication Foundation (WCF) est un ensemble de méthode unifié pour la communication entre application.
Cela vous permez de faire communiquer des applications entre elle aussi bien sur la même machine que sur un réseau.
WCF regroupe le système de message de Windows, le Remoting de .NET, les services windows et ainsi de suite dans un ensemble logique.
Workflow Foundation (WF) est le modèle de construction des flux d'actions du framework 3.0. Il permet de modéliser des enchainements logiques et linéaires d'action a entreprendre afin d'arriver dans un état fini.
WF met à votre disposition un moteur de controle de ces flux de travail.
Windows CardSpace (WC) est le système de gestion des identités numériques introduit par le framework 3.0.
Ce système permet une gestion sécurisée des diverses identités numériques qu'un utilisateur peut être amené à avoir.
De plus, WC doit permettre aux applications d'accéder aux informations de l'utilisateur sans que celui-ci ait besoin d'intervenir. Cela permet, par exemple, de remplir certain champs d'état civil automatiquement.
Le XAML (eXtensible Application Markup Language) est un langage de description d'éléments d'application basé sur le XML (eXtensible Markup Langage).
Il est utilisé par exemple dans les nouvelles interfaces graphiques WPF, ou dans WF.
Linq (Language Integrated Query) est un des projets accompagnant C# 3 et VB 9. Le but est de pouvoir faire des requêtes avec n'importe quel langage de programmation .NET et sur n'importe quel source de données. On pourra donc interroger une base de données (Linq to SQL), des données sous le format XML (Linq to XML) ou n'importe quelle autre source de données (Linq to Object).
Il s'agit de l'acronyme de " Asynchronous JavaScript and XML ". Bien qu'il soit utilisé que depuis peu de temps, il s'agit d'une combinaison de technologies qui a déjà plusieurs années.
Effectivement, AJAX n'est pas une technologie en soi. Il permet de questionner ou d'envoyer des informations à un serveur web et d'afficher (par exemple) ces informations à la volée, sans devoir recharger toute la page. Interviennent donc dans chaque opération la technologie serveur, le javascript qui gère le DOM etc.
Silverlight (ancien nom de code WPF/E) est une technologie de Microsoft qui concurrence Flash et Flex d'Adobe. Proposant un contenu riche grâce à des graphiques, animations, vidéo, Silverlight a été conçu pour utiliser la technologie WPF sur le Web. Au niveau de son noyau, Silverlight est un plugin de navigateur qui va permettre d'interpréter du code XAML directement dans le navigateur.