.NET

.NET

Informations
Développé par .NET Foundation (en)
Première version (9 ans, 60 jours)
Dernière version 9.0.8 ()[1]
8.0.19[2]
Version avancée 10.0.0-preview.7 ()[3]
Dépôt github.com/dotnet/runtime et github.com/dotnet/core
Écrit en C# et C++
Système d'exploitation Microsoft Windows, macOS, Linux, OpenBSD et FreeBSD
Type Framework
Licence Licence MIT
Site web dotnet.microsoft.com et dot.net/core

.NET (prononcé « dot net », anciennement .NET Core[4].) est un cadriciel (framework) libre et open source développé par les employés de Microsoft regroupés dans la .NET Foundation (en). Successeur multiplateforme de .NET Framework, il est compatible avec les systèmes d'exploitation Windows, macOS et Linux[5].

Le cadriciel .NET comprend CoreCLR, un environnement d'exécution complet de CLR, la machine virtuelle qui gère l'exécution des programmes .NET. CoreCLR est livré avec un compilateur à la volée amélioré, appelé RyuJIT. .NET Core inclut également CoreFX, qui est un fork partiel de FCL (en). Bien que .NET Core partage un sous-ensemble d'API .NET Framework, il est livré avec sa propre API.

En outre, .NET contient CoreRT, le runtime .NET Native, optimisé pour être intégré aux fichiers exécutables natifs compilés avant l'exécution. Une variante de la bibliothèque .NET Core est utilisée pour UWP. L'interface de ligne de commande .NET Core offre un point d'entrée d'exécution pour les systèmes d'exploitation et fournit des services de développement, tels que la compilation et la gestion des packages.

Histoire

Officieusement, le développement de .NET Framework a commencé en 1999. L'annonce officielle du développement d'une nouvelle technologie a eu lieu lors de la conférence de presse de Microsoft le . La première version de Microsoft .NET Framework a été officiellement publiée le . Depuis la sortie de la première version de .NET Framework, neuf autres mises à niveau ont eu lieu. La version finale de .NET Framework était la 4.8.

.NET Core est un framework multi-plateforme open source (Windows, Mac, Linux) qui peut être défini comme le successeur de .NET Framework. C'est un analogue moderne du .NET Framework. Microsoft a annoncé le développement de .NET Core le . .NET Core a été officiellement publié le . Microsoft a mis à jour .NET Core et a publié ses nouvelles versions jusqu'à la version 3.1. Cependant, en , la dernière version de .NET Core a été livrée sous le nom de .NET 5. « Core » a été supprimé du nom et la version 4.0 a été ignorée pour éviter toute confusion avec .NET Framework[4].

.NET 8 est la dernière mise à niveau majeure publié en de la plateforme.

Microsoft a annoncé prévoir une publication annuelle (en novembre) d’une nouvelle version majeure. La sortie de .NET 9 est prévue pour et .NET 10 pour .

Les versions paires sont des versions "Long Term Support (LTS)" ayant un support de 36 mois tandis que les versions impaires sont des versions "Standard Term Support (STS)" ayant un support de 18 mois[6].

Langages de programmation supportés

.NET prend en charge les langages C# et F# et Visual Basic .NET[7].

Système d'exploitation et restrictions

La génération d'un exécutable ciblant un système particulier nécessite les librairies spécifiques pour ce système. La disponibilité de ces librairies n'est pas toujours garantie sur l'environnement de développement. De plus, il n'existe pas toujours de simulateur disponible pour l'environnement ciblé. Selon le cas, il sera nécessaire de réaliser la compilation de l'exécutable avec le système d'exploitation cible.

Système d'exploitation requis selon le système d'exploitation cible
Système d'exploitation cible Système d'exploitation requis pour la compilation
Windows Microsoft Windows
Linux Linux
Android Linux - Microsoft Windows - macOS
macOS macOS
iOS macOS

Pratique de la gestion des versions

Dans l'environnement d'exécution .NET Core, on utilise la gestion sémantique des versions au format major.minor.patch[8]. Les versions majeures sont augmentées lors de « changements significatifs », de modifications critiques de l'API ou lorsque le numéro de version majeure d’une dépendance existante est relevé[9],[10]. Cela doit se produire chaque année. Les versions mineures sont augmentées lors de l'ajout de fonctionnalités à l'API, de dépendances ou lorsque le numéro de version mineure d’une dépendance existante est relevé. Les versions de correction sont fournies pour corriger des bugs, prendre en charge de nouvelles plateformes ou d’autres changements non mentionnés ci-dessus. Depuis 2019, les versions de l'environnement d'exécution sont rétrocompatibles au sein d’un même numéro de version majeure. Par exemple, .NET Core 2.2 peut exécuter des programmes créés pour .NET Core 2.1. Les versions d’exécution se situent dans la même version mineure. Il semble que cette contrainte ait été assouplie avec la sortie de .NET 5. La fonctionnalité de « rollback » permet d’exécuter n’importe quel programme .NET dans une version plus récente adéquatement configurée.

Le SDK n’utilise pas la gestion sémantique des versions[11]. Depuis 2019, il prend en charge le choix de n’importe quelle version de l’environnement d'exécution antérieure à la plus élevée prise en charge. Depuis 2020, cela s’étend également aux environnements d'exécution .NET Framework, bien qu’il puisse être nécessaire de télécharger un « package de versionnage » supplémentaire depuis NuGet. Les versions majeures et mineures du SDK correspondent toujours aux versions majeures et mineures de l’environnement d’exécution qu’il contient ou avec lequel il est aligné.

Mascotte

La mascotte officielle de la communauté .NET est le bot .NET (stylisé « dotnet-bot »)[12],[13],[14]. Ce bot servait de développeur fictif pour la vérification initiale du code source .NET après sa publication en open source. Depuis, il est utilisé comme mascotte officielle.

Notes et références

  1. « Download .NET 9.0 » (consulté le )
  2. « Download .NET 8.0 »
  3. (en) « Download .NET 10.0 » (consulté le )
  4. « What's new in .NET 5 », sur microsoft.com, (consulté le )
  5. (en) « .NET Downloads for Linux, macOS, and Windows », sur Microsoft (consulté le )
  6. « .NET and .NET Core official support policy », sur Microsoft (consulté le )
  7. (en) « What Is .Net? », sur Amazon Web Services (consulté le )
  8. (en) « How to Check .NET Core Versions », sur www.logicmonitor.com (consulté le )
  9. (en) « How to create a .NET library: a complete guide », sur pvs-studio.com (consulté le )
  10. (en) « Versioning limitations in .NET », sur codeblog.jonskeet.uk (consulté le )
  11. (en) « Transitioning the JavaScript SDK to Semantic Versioning », sur craftercms.com (consulté le )
  12. (en) « Celebrate the .NET 20th Anniversary with the Community! », sur dev.to (consulté le )
  13. (en) « GitHub - dotnet-foundation/mod-dotnet-bot: This is the repository for the mod-dotnet-bot.net website. Create your own coding companion by creating your custom dotnet-bot. », sur github.com (consulté le )
  14. (en) « Mod the dotnet-bot », sur mod-dotnet-bot.net (consulté le )
  • Portail de l’informatique
  • Portail de Microsoft