ASP.NET Core ne doit pas être confondu avec les deux itérations précédentes d'ASP. Microsoft a lancé la plate-forme ASP originale en 1996. La plateforme a été mise à niveau pour utiliser .NET en 2002 avec ASP.NET. La plateforme prenait en charge plusieurs modèles de programmation tels que Model View Controller (MVC), Web Forms et Web API. En 2016, Microsoft a lancé ASP.NET Core, qui prend en charge plusieurs des mêmes modèles de programmation, comme MVC, mais qui est distinct d'ASP.NET. Initialement, cette plateforme fonctionnait sur le .NET Framework, qui est un ancien framework Microsoft. Elle fonctionne désormais exclusivement sur le framework plus récent .NET Core.
Elle contient des outils et des bibliothèques spécifiques à la création d'applications Web. Le framework traite les requêtes web avec C# ou F# et dispose d'une syntaxe de templating appelée Razor pour créer des pages web dynamiques. Il gère l'authentification pour les connexions simples, l'authentification multifactorielle, l'authentification externe et l'authentification OAuth.
.NET (parfois appelé .NET Core) est un framework de développement gratuit, véritablement multiplateforme et open-source. Il fonctionne nativement sous Windows, Linux et macOS et est compatible avec de nombreuses autres plateformes.
Il est possible de créer des applications ASP.NET Core avec C# ou F#. C# est un langage orienté objet moderne, à sécurité de type, doté d'un grand nombre de fonctionnalités de programmation de style fonctionnel. Il fait partie des dix premiers langages utilisés par les développeurs aujourd'hui. Il a été lancé en même temps que .NET Framework en 2002 et est devenu le langage de prédilection de Microsoft. La dernière itération comporte de nombreuses améliorations. Sa syntaxe, semblable à celle du langage C, est immédiatement reconnaissable par les développeurs qui utilisent C++, Java et d'autres langages similaires.
F# est un langage de programmation moderne, open-source et fonctionnel. Ce langage apporte une programmation fonctionnelle plus pure à l'écosystème .NET et offre une alternative à l'approche impérative et orientée objet de C#. De nombreuses équipes réalisent des gains de productivité en adoptant l'approche fonctionnelle pour construire des systèmes. .NET qui permet de mélanger les bibliothèques C# avec les bibliothèques F#, afin de bénéficier du meilleur des deux mondes.
Le langage fait une grande différence lorsqu'il s'agit de créer des applications Web. Il est préférable d'opter pour un langage mature qui possède des années de fonctionnalités soigneusement conçues pour les besoins du développement Web. Par exemple, des langages comme Go sont populaires mais peuvent manquer d'une infrastructure de langage essentielle comme les génériques, ce qui peut rendre les grands projets plus difficiles à maintenir. Alors que des langages comme PHP sont parfaits pour créer rapidement des sites Web.
Applications et services Web : Créer des applications et des services Web modérés et évolutifs en utilisant HTML, CSS et Javascript.
Déployer n'importe où : Déployer des applications ASP.NET Core sur n'importe quelle plateforme (Windows, MacOS, Linux), dans le cloud ou dans des conteneurs.
Applications à page unique (SPA) : Créer des applications à page unique à l'aide de frameworks JavaScript populaires comme Angular, React ou Vue.js.
Exécuter .NET dans le navigateur : Utiliser Blazor pour créer une interface utilisateur Web interactive en C# qui permet d'exécuter .NET directement dans le navigateur.
IoT : Créer des applications de pointe ou des services d'arrière-plan pour des objets connectés.
Modèle d'objet unifié : Apprendre un modèle d'objet unifié pour l'interface utilisateur Web et les API Web.
Options d'hébergement : Héberger des applications sur Kestrel, IIS, Nginx, Apache, Docker, etc.
Injection de dépendances : Tirer parti de la fonction d'injection de dépendances intégrée à ASP.NET Core.
Pipeline middleware : Utiliser un pipeline de requêtes et de réponses léger, performant et modulaire.