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.
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.
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.
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.
.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.
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.3705.0 | 05-01-2002 | |
1.1.4322.573 | 01-04-2003 | |
2.0.50727.42 | 07-11-2005 | |
3.0.4506.30 | 06-11-2006 | |
3.5.21022.8 | 19-11-2007 | |
4.0.30319.1 | 12-04-2010 |
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.
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.
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.
.NET Framework 3.0, anciennement WinFX, 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. 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 :
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.
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-*.
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
.
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. Dans cette optique, ils prévoient de publier la technologie PLINQ (Parallel Language Integrated Query), une implémentation de la librairie LINQ, qui exécute les requêtes en tirant profit des capacités parallèles du système.
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.