FAQ .NET
FAQ .NETConsultez toutes les FAQ
Nombre d'auteurs : 5, nombre de questions : 57, dernière mise à jour : 15 juin 2021
- Qu'est-ce que le Framework .NET ?
- Qu'est-ce que le Compact Framework .NET ?
- Qu'est ce que la Common Language Runtime (CLR) ?
- Qu'est-ce que le Common Type System (CTS) ?
- Qu'est-ce que la Common Language System (CLS) ?
- Qu'est-ce que l'Intermediate Language (IL) ?
- Qu'est-ce que le Microsoft Intermediate Language (MSIL) ?
- Qu'est-ce que la bibliothèque de classes du Framework .NET ?
- Qu'est-ce qu'un service web XML ?
- Qu'est ce que le code Managed/Unmanaged ?
- Qu'est ce que Universal Description, Discovery and Integration (UDDI) ?
- Qu'est-ce que le projet Mono ?
Le Framework .NET est une plate-forme informatique qui simplifie le développement d'applications en proposant une approche unifiée pour la conception d'applications Web et Windows.
- Fournir un environnement cohérent de programmation orientée objet que le code objet soit stocké et exécuté localement, exécuté localement mais distribué sur Internet ou exécuté à distance.
- Fournir un environnement d'exécution de code qui minimise le déploiement de logiciels et de conflits de versionning.
- Fournir un environnement d'exécution de code qui garantit l'exécution sécurisée de code y compris le code créé par un tiers d'un niveau de confiance moyen ou un tiers inconnu.
- Fournir un environnement d'exécution de code qui élimine les problèmes de performance des environnements interprétés ou écrits en scripts.
- Fournir au développeur un environnement cohérent entre une grande variété de types d'applications comme les applications Windows et les applications Web.
- Générer toutes les communications à partir des normes d'industries pour s'assurer que le code basé sur le Framework .NET peut s'intégrer à n'importe quel autre code.
Le Framework .NET contient deux composant principaux : Le Common Language Runtime (CLR) et la bibliothèque de classes du Framework .NET.
Il existe aussi des implémentations libres de .NET, dont le projet Mono.
En ce qui concerne le développement d'applications mobiles, Microsoft a développé une version light de son Framework appelé le Compact Framework .NET.
Le compact Framework .NET est la version light du Framework .NET qui est destinée au développement d'applications mobiles sur Pocket PC et Smartphone. Etant donné que le microprocesseur d'un appareil mobile est bien moins puissant que celui d'un ordinateur de bureau avec en plus une mémoire assez limitée, Microsoft a du trouver des solutions afin d'alléger au maximum le Framework .NET. Pour arriver à cela, il a fallu supprimer toutes les fonctionnalités qui ne servent à rien sur un appareil mobile, comme par exemple les impressions. Toutes les fonctions redondantes ont aussi été supprimées, c'est à dire que si il y avait 3 façons de faire une chose donnée en programmation avec le Framework .NET, il n'y a plus qu'une seule façon avec le Compact Framework .NET.
Lien : Le centre de développement Windows Mobile de Microsoft
La Common Language Runtime (CLR) est un environnement d'exécution sécurisé et robuste qui supporte du code écrit dans plusieurs langages différents (C++, VB, C#, Pascal, Cobol ...) et simplifie le développement, la gestion et le déploiement d'applications. On peut la comparer à la Java Virtual Machine (JVM) ou au Runtime Visual Basic 6 (msvbvm60.dll).
La CLR est constituée d'un ensemble de services standards (Modèle de programmation orientée objet, sécurité, ramasse miettes) dont chaque programme .NET peut tirer profit.
Afin que des classes définies dans plusieurs langages puissent communiquer entres elles, elles ont besoin d'un ensemble de types de données communs. C'est l'objet de la CTS, elle définit les types de données que le Runtime .NET comprend et que les applications .NET peuvent utiliser.
A noter que la CTS est un sur-ensemble de la CLS.
C'est un sous-ensemble de la CTS que chaque langage .NET est supposé supporter. Un programme qui utilise des types de la CLS peut interagir avec un autre programme .NET écrit dans un autre langage. Il est donc ainsi possible par exemple qu'une classe C# hérite d'une classe VB .NET.
Tous les programmes .NET avant d'être déployés sont compilés dans un langage de bas niveau appelé Intermediate Language ou Microsoft Intermediate Language (MSIL) : ce code IL est ensuite compilé dans du code natif au moment de l'exécution. Ce qui signifie que quelque soit le langage utilisé dans votre programme, vos exécutables et DLL seront toujours déployés sous la forme de code IL ; il n'y a donc aucune différence entre un composant écrit en C# et en VB .NET.
Le Microsoft Intermediate Language (MSIL) est un langage de bas niveau qui résulte de la compilation d'un programme .NET. C'est ce langage qui sera compris et compilé en code natif par le Common Language Runtime (CLR) lors de l'exécution.
La bibliothèque de classes, le composant principal du Framework .NET avec le Common Language Runtime, est une collection complète orientée objet, de types réutilisables que vous pouvez utiliser pour développer des applications allant des traditionnelles applications à ligne de commande ou à interface graphique utilisateur (GUI, Graphical User Interface) jusqu'à des applications qui exploitent les dernières innovations fournies par ASP.NET, comme les services Web XML et Web Forms.
Un service Web est un composant logiciel encapsulant des fonctionnalités métier de l'entreprise et accessibles, grâce à des protocoles Internet standards, depuis n'importe quelle plate-forme ou langage de programmation. Ils sont décrits dans des documents WSDL (Web Service Description Language), qui précisent les méthodes pouvant être invoquées, leurs signatures et les points d'accès du service (URL, port .). Les services Web sont accessibles via SOAP, la requête et les réponses sont des messages XML transportés sur HTTP.
Managed
Le framework .NET propose un ensemble de services aux programmes qui l'utilisent comme la gestion des exceptions et la sécurité. Pour que ces services fonctionnent, le code doit implémenter un minimum d'informations ; un tel code est appelé Managed Code. Toutes les sources C# et VB .NET sont managées par défaut. Les sources C++ ne le sont pas mais il est possible de spécifier au compilateur de produire du code managé en ligne de commande (/com+).
Unmanaged
C'est du code natif accédant directement aux services des librairies d'exécution du C/C++ et du système d'exploitation dont la compilation génère de l'assembleur type 80x86.
Les spécifications UDDI (Universal Description, Discovery and Integration) définissent une méthode standard de publication et de découverte d'informations sur des services Web XML. Les schémas XML associés à UDDI déterminent quatre types d'informations qui permettent à un développeur d'utiliser un service Web XML publié : les informations sur l'entreprise, les informations de service, les informations de liaison et les informations sur les spécifications des services.
Mono est l'implémentation libre des standards de L'ECMA et de l'ISO concernant le CLI et le langage C#. De plus il implemente la totalité des classes du framework .net a des fin de compatibilités. Ainsi vous pouvez faire tourner une application Winform de la même manière sous Windows, Linux ou MacOSX. Mais Mono va plus loin en vous permettant, à travers un module, d'héberger des sites ASP.NET 2.0 sous apache.
Mono n'est pas que l'implémentation du framework de MS, c'est aussi un certain nombre de projets comme GTK# qui permet d'utiliser Gtk+ pour la partie graphique directement avec Mono.