.NET Framework : l'ancêtre Windows
Lancé en 2002, .NET Framework est la première implémentation de .NET par Microsoft. Exclusivement supporté sur les systèmes d'exploitation Windows, il a longtemps été la référence incontournable pour le développement d'applications .NET sur cette plateforme.
En développant .NET Framework, Microsoft cherchait à proposer une succession à Visual Basic 6 et à ASP, pour créer un écosystème cohérent qui concurrence Java.
.NET Framework permet de créer trois types de solutions :
- Des DLL
- Des applications graphiques (avec WinForms puis WPF)
- Des applications web (avec ASP.NET MVC)
Développé en mode fermé par Microsoft, .NET Framework suit un cycle de publication relativement lent, avec de nouvelles versions majeures déployées tous les deux ou trois ans environ. La dernière version (4.8.1) date d’octobre 2023.
.NET Core : La refonte open source et multiplateforme
Face aux nouvelles tendances du développement logiciel, Microsoft a opéré une refonte majeure avec .NET Core, lancé en 2016. Conçu dès le départ pour être open source et multiplateforme, .NET Core est compatible avec Windows, macOS et Linux. Son développement, ouvert à la communauté de la .NET Foundation, lui permet un cycle de publication accéléré, avec de nouvelles versions majeures tous les six mois.
.NET Core adopte également un modèle de déploiement plus léger basé sur les packages NuGet. Les applications peuvent ainsi être déployées de manière autonome en incluant le runtime .NET Core nécessaire. Enfin, .NET Core bénéficie d'améliorations en termes de performances, de consommation de ressources et de modularité.
.NET Standard : La base commune
Parallèlement au développement de .NET Core, Microsoft a défini .NET Standard : un sous-ensemble commun à implémenter afin de permettre le développement d'applications et de bibliothèques portables entre .NET Framework et .NET Core.
.NET Standard n'est donc pas une implémentation en soi, mais une spécification versionnée indiquant un niveau de compatibilité.
En ciblant une version spécifique de .NET Standard lors du développement d'une bibliothèque, les développeurs peuvent s'assurer que celle-ci sera compatible avec toutes les implémentations .NET respectant cette norme de compatibilité. Cela facilite grandement le partage de code et la création de bibliothèques réutilisables entre différents projets et plateformes.
.NET : L'uniformisation pour contrer la confusion
Avec ces nombreuses versions qui cohabitent, la confusion communautaire régnait et Microsoft a donc décidé d’unifier tout cela. Microsoft annonce un nouveau .NET publié fin 2020, qui se base sur .NET Core et qui se veut être l'implémentation de référence pour tout développement d’applications .NET.
Microsoft choisit de commencer directement à la version 5, la dernière version de .NET Core étant en 3.1 et .NET Framework en 4.8.
.NET 5 a donc été conçu pour unifier les versions de .NET qui cohabitaient (.NET Framework et .NET Core) sous une seule plateforme commune, simplifiant ainsi le développement et réduisant surtout la confusion auprès des développeurs.