.NET Framework

.NET Framework

Framework .NET

Le framework .NET est un framework pouvant être utilisé par un système d'exploitation Microsoft Windows et Microsoft Windows Mobile depuis la version 5 (.NET Compact Framework). Une version légère et limitée fournie avec un moteur d'exécution fonctionnant à l'intérieur d'un navigateur ou d'un périphérique mobile est disponible sous le nom de Silverlight. La version 3.0 du framework est intégrée à Windows Vista et à la plupart des versions de Windows Server 2008 ou téléchargeable depuis le site de l'éditeur Microsoft.

Le framework .NET s'appuie sur la norme Common Language Infrastructure (CLI) qui est indépendante du langage de programmation utilisé. Ainsi tous les langages compatibles respectant la norme CLI ont accès à toutes les bibliothèques installées (installables) dans l'environnement d'exécution. Le framework .NET est un sous ensemble de la technologie Microsoft .NET.

Il a pour but de faciliter la tâche des développeurs en proposant une approche unifiée à la conception d'applications Windows ou Web, tout en introduisant des facilités pour le développement, le déploiement et la maintenance d'applications.

Le framework gère tous les aspects de l'exécution d'une application dans un environnement d'exécution dit « managé » :

  • il alloue la mémoire pour le stockage des données et des instructions du programme ;
  • il autorise ou refuse des droits à l'application ;
  • il démarre et gère l'exécution ;
  • il gère la ré-allocation de la mémoire pour les ressources qui ne sont plus utilisées.

Il est composé de deux blocs principaux :

Sommaire

Common Language Runtime

Article détaillé : Common Language Runtime.

Bibliothèques de classes .NET

Il y a trois couches au dessus du Common Language Runtime (CLR), chacune comportant des classes apportant des fonctionnalités de plus en plus évoluées.

Base Class Library

Article détaillé : Base Class Library.

Dans la première couche se trouve la Base Class Library (BCL), rassemblant des classes permettant les manipulations de chaînes de texte, la gestion des entrées/sorties, des communications réseaux, des processus légers et le design des interfaces utilisateur. Ces classes sont similaires à celles présentes dans l'API Java développée par Sun Microsystems. Par exemple, la manipulation des chaînes est disponible dans la classe String, dans les deux langages ; la différence étant qu'en Java il n'existe pas de type de base pour manipuler les chaînes (on manipule des objets 'String'), alors qu'en .NET, le type string (avec un 's' minuscule) a spécifiquement été défini.

Classes d'accès aux données

La deuxième couche est composée de deux bibliothèques de classes d'accès aux données. Tout d'abord, ADO.NET, s'élevant sur les bases de l'ancien ADO (ActiveX Data Objects) utilisé par les développeurs ASP, et permettant l'accès sous format XML aux interfaces de bases de données SQL Server, ODBC, OLE DB, Oracle et Sybase, et bien sûr aux fichiers XML. Les XML Classes permettent de manipuler les données XML. On y trouve par exemple les classes XSLT permettant la transformation d'un document XML vers n'importe quel type d'autre document. Un autre exemple, il est très facile de charger un document XML dans une table, et vice versa, grâce au XML sous-jacent.

XML Web Services, Web Forms, Windows Forms

La dernière couche, la plus élevée, est utilisée pour la création de services web, de pages Web, et d'applications Windows. Les deux premiers forment ASP.NET, là aussi une référence à l'ancien langage de programmation Web. Les pages internet ayant pour extension .aspx sont généralement des pages Web écrites en .NET, tandis que les pages écrites en ASP se terminent généralement en .asp.

Infrastructure .NET

La pile de composants du .NET Framework

Structure d'une application .NET

L'unité de base d'une application .NET est appelée un assemblage (assembly). Il s'agit d'un ensemble de code, de ressources et de métadonnées. Un assemblage est toujours accompagné par un manifeste (assembly manifest) qui décrit ce qu'il contient : nom, version, types de données exposées, autres assemblages utilisés, instructions de sécurité. Un assemblage est composé d'un ou plusieurs modules qui contiennent le code.

Compilation et exécution d'une application .NET

Tout comme en Java, quand une application .NET est compilée, elle n'est pas compilée en code binaire machine, mais dans un code binaire intermédiaire CIL. Une application consiste donc en un ensemble d'assemblages contenus dans un ou plusieurs fichiers exécutables ou fichiers DLL en Common Intermediate Language (CIL). Au moins un de ces assemblages doit contenir un point d'entrée afin de démarrer l'application.

Quand l'exécution d'un programme démarre, le premier assemblage est chargé en mémoire. Le CLR commence par examiner les permissions demandées par cet assemblage et les compare à la politique de sécurité (security policy) du système. Puis, si l'assemblage est autorisé à s'exécuter, un processus est créé pour exécuter l'application. Le premier morceau de code nécessaire à l'exécution est chargé en mémoire et est compilé en code binaire natif par le compilateur juste à temps (Just-In-Time, JIT). Une fois compilé, le code est exécuté et stocké en mémoire sous forme de code natif, garantissant ainsi que chaque portion de code n'est compilée qu'une seule fois lors de l'exécution de l'application.

Versions

Microsoft a commencé le développement du .NET Framework à la fin des années 1990 sous le nom de Next Generation Windows Services (NGWS ou « Prochaine génération de services Windows »). La première version bêta du framework (.Net 1.0) est disponible à la fin de l'an 2000.

Version Version Number Release Date
1.0 1.0.3705.0 05-01-2002
1.1 1.1.4322.573 01-04-2003
2.0 2.0.50727.42 07-11-2005
3.0 3.0.4506.30 06-11-2006
3.5 3.5.21022.8 19-11-2007

.NET Framework 1.0

Première version du .Net Framework. Elle est disponible depuis le 13 février 2002 et fonctionne sur les plates-formes Windows Windows 98, NT 4.0 2000, XP.

.NET Framework 1.1

C'est la première évolution majeure du .NET Framework. Elle est disponible sous la forme d'un composant redistribuable ou d'un kit de développement et a été publiée le 3 avril 2003. C'est aussi une partie de la deuxième version de Microsoft Visual Studio .NET (connue sous le nom de Visual Studio .NET 2003). C'est la première version du .NET Framework à faire partie d'un système d'exploitation Windows Server 2003.

Changements depuis la version 1.0

  • Support intégré pour les contrôles ASP.NET ; il fallait anciennement installer un composant supplémentaire ;
  • Modification de la sécurité : Autorise les assemblages Windows Forms à s'exécuter dans un environnement de confiance modéré à partir d'Internet et ajoute la notion de de Code Acces Security dans les applications ASP.NET ;
  • Support pour ODBC et les bases de données Oracles ; il fallait anciennement installer un composant supplémentaire ;
  • .NET Compact Framework, une version du .NET Framework compatible avec Windows CE ;
  • Support pour IPv6 ;
  • Divers changements dans les API.

.NET Framework 2.0

Disponible avec Visual Studio 2005, Microsoft SQL Server 2005 et BizTalk Server 2006, le .NET Framework 2.0 en version redistribuable est disponible gratuitement sur le site de Microsoft et a été publié le 22 janvier 2006. Il est aussi inclus sous forme d'option gratuite à Windows Server 2003 R2.

Le kit de développement (SDK) peut être téléchargé gratuitement sur le Site de Microsoft ; il est inclus avec Visual Studio 2005 et Microsoft SQL Server 2005.

C'est la dernière version compatible avec Windows 2000, Windows 98 et Windows ME.

Changement depuis la version 1.1

  • Ajout de diverses API ;
  • Support 64-bit pour les plates-formes matérielles x64 et IA-64 ;
  • Support des Generics inclus dans le CLR .NET ;
  • Nouveaux Web Controls pour ASP.NET ;
  • Nouveaux contrôles de gestion de données ;
  • Nouvelles possibilités de personnalisation des fonctionnalités ASP.NET telles que les thèmes et webparts ;
  • .NET Micro Framework - une version du .NET Framework lié au projet Smart Personal Object Technology (SPOT).

.NET Framework 3.0

.NET Framework 3.0, anciennement WinFX[1], inclut des nouvelles API de code managé. Elles font partie intégrante des systèmes d'exploitation Windows Vista et de Windows Server 2008. Ces API sont aussi disponibles en téléchargement pour Windows XP SP2 et Windows Server 2003. Il n'y a pas de changements majeurs inclus avec cette version. Le .NET Framework 3.0 utilise le Common Language Runtime de la version 2.0 du Framework[2]. Contrairement aux autres évolutions du Framework, il n'y a pas eu d'équivalent à cette version pour le .NET Compact Framework.

Le .NET Framework 3.0 est constitué de 4 parties principales :

Le nouvel environnement inclut également les autres éléments du Framework .NET, à savoir :

.NET Framework 3.5

La version 3.5 du .NET Framework est officiellement disponible (en RTM) depuis le 19 novembre 2007. De même que la version 3.0, la version 3.5 utilise la version 2.0 de la CLR. Cette version du framework inclut le .NET Framework 2.0 SP1 qui ajoute des méthodes et des propriétés aux bibliothèques de bases de la version 2.0. Celles-ci sont nécessaires à certaines fonctionnalités du framework 3.5 telle que LINQ. Ces modifications n'affectent pas les application écrites avec la version 3.5. Un nouveau .NET Compact Framework 3.5 est aussi disponible en tandem avec cette évolution dans le but de fournir de nouvelles fonctionnalités pour les appareils fonctionnant avec Windows Mobile et Windows Embeded CE. Le code source des bibliothèques de classes de bases a été partiellement dévoilé avec cette version sous la licence sources partagées[6].

La version 3.5 du framework inclut le framework Language Integrated Query (LINQ) permettant des requêtes objet aussi bien sur des Data, des Collections, du XML ou des DataSets. Elle intègre également le framework Ajax.Net avec de nouveaux protocoles (AJAX, JSON, REST, RSS, Atom) et d'autres standards WS-*.

Récapitulatif des changements avec la version 3.5

  • Ajout de nouvelles fonctionnalités ont été intégrées aux compilateurs des langages C# 3.0 et VB.NET 9.0 ;
  • Ajout du support pour les arbres d'expression et les méthodes lambda ;
  • Méthodes d'extension ;
  • Types anonymes avec les inférences statiques de types ;
  • Language Integrated Query (LINQ) :
    • LINQ to Objects ;
    • LINQ to XML ;
    • LINQ to SQL ;
  • Support pour la pagination dans ADO.NET ;
  • Une API de synchronization ADO.NET pour synchroniser les données en cache local et côté serveur ;
  • Une API asynchrone pour les entrées/sorties réseau ;
  • Une pile de protocoles pour le pair à pair, et du code managé pour le Peer Name Resolution Protocol (PNRP) ;
  • Des interfaces de programmation (API) managées pour utiliser Windows Management Instrumentation (WMI) et Active Directory ;
  • Amélioration des moteurs d'execution de Windows Communication Foundation (WCF) et Windows Workflow Foundation (WF) ce qui permet à WCF de fonctionner avec les données aux formats POX et JSON. Ces moteurs permettent aussi d'exposer les workflows WF comme des services WCF ;
  • ASP.NET Ajax est inclus ;
  • Un nouvelle espace de nom System.CodeDom.

SP1 (Nom de code "Arrowhead")

Le .NET Framework 3.5 SP1 va améliorer le support pour les applications partiellement connectées et fournit un support pour le modèle MVC de Microsoft ASP.NET. Arrowhead améliorera les performances du démarrage à froid (démarrage quand aucune application nécessitant le .NET Framework n'a encore été lancée) à hauteur de 25 à 40%. Cette mise à jour accélérera aussi certains effets de Windows Presentation Foundation (WPF) telles que les ombres, mais aussi les performances générales. Un ensemble d'autres contrôles WPF seront aussi disponibles, et notamment un DataGrid.

.NET Framework 4.0

Le 29 septembre 2008, Microsoft a annoncé que la prochaine version du framework .Net se nommera .NET Framework 4.0. Bien que tous les détails exacts n'aient pas été communiqués, certaines directions de la compagnie ont été rendues publiques.

L'une de ces directions est notamment le traitement parallèle de l'information, applicable aux systèmes multi-core ou distribués[7]. Dans cette optique, ils prévoient de publier la technologie PLINQ (Parallel Language Integrated Query)[8], une implémentation de la librairie LINQ, qui exécute les requêtes en tirant profit des capacités parallèles du système[9].

Microsoft a également annoncé sa volonté d'inclure le .NET Framework et ASP.NET dans la version « Server Core » du système d'exploitation qui suivra Windows Server 2008[10].

Conclusion

.Net est une plateforme uniformisée et à vocation universelle. Elle facilite nettement le développement d'applications pour ceux qui maîtrisent la programmation orientée objet, proposant une hiérarchie d'objets ainsi qu'une harmonisation générale des interfaces de programmation (API). Mais les programmes générés exigent des ordinateurs dotés d'une surcouche logicielle et donc devant être de plus en plus puissants.

Notes

  1. (en)WinFX name change announcement
  2. .NET Framework 3.0 Versioning and Deployment Q&A. Consulté le 2007-03-21
  3. WPF SDK sur le site de l'éditeur.
  4. (en) Windows CardSpace
  5. (en) Windows Forms
  6. Scott Guthrie, « Releasing the Source Code for the NET Framework ». Consulté le 2007-10-04
  7. S. Somasegar, « The world of multi and many cores ». Consulté le 2008-06-01
  8. Parallel LINQ: Running Queries On Multi-Core Processors. Consulté le 2008-06-02
  9. Parallel Performance: Optimize Managed Code For Multi-Core Machines. Consulté le 2008-06-02
  10. PDC2008 Sessions Overview, 28 mai 2008, Microsoft. Consulté le 2008-05-28

Voir aussi

Articles connexes

  • Portail de l’informatique Portail de l’informatique
Ce document provient de « Framework .NET ».

Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article .NET Framework de Wikipédia en français (auteurs)

Regardez d'autres dictionnaires:

  • .NET-Framework — Basisdaten Entwickler: Microsoft Aktuelle Version …   Deutsch Wikipedia

  • .NET Framework — Basisdaten Entwickler: Microsoft Aktuelle Version …   Deutsch Wikipedia

  • .NET Framework — This article is about the Microsoft technology. For the Top level domain, see .net. For other uses, see .NET. .NET Framework Developer(s) Microsoft …   Wikipedia

  • .NET Framework — Для термина «.NET» см. другие значения. .NET Framework Тип Комп …   Википедия

  • .Net Framework — …   Википедия

  • .NET framework — …   Википедия

  • NET Framework — …   Википедия

  • .NET Framework 3.0 — NET Framework Basisdaten Entwickler: Microsoft Aktuelle Version …   Deutsch Wikipedia

  • .NET Framework 1.1 — Framework .NET Le framework .NET est un framework pouvant être utilisé par un système d exploitation Microsoft Windows et Microsoft Windows Mobile depuis la version 5 (.NET Compact Framework). Une version légère et limitée fournie avec un moteur… …   Wikipédia en Français

  • .NET Framework 3.x — NET Framework 3.0, первоначально называвшийся WinFX интерфейс программирования приложений, который входит в состав операционной системы Windows Vista и Windows Server 2008. Старый интерфейс, Win32 API, будет по прежнему доступен, но из него не бу …   Википедия

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”