# .NET Core

.NET (anteriormente llamado .NET Core) es un framework informático administrado, gratuito y de código abierto para los sistemas operativos Windows, Linux y macOS. Es un sucesor multiplataforma de .NET Framework. El proyecto es desarrollado principalmente por Microsoft bajo la licencia MIT.

## Historia

.NET Core 1.0 fue anunciado el 12 de noviembre de 2014 y se lanzó el 27 de junio de 2016 junto con Microsoft Visual Studio 2015 Update 3, el cual habilitó el desarrollo de aplicaciones en .NET Core. .NET Core 1.0.4 y 1.1.1 fueron lanzados junto a NET Core Tools 1.0 y Visual Studio 2017 el 7 de marzo de 2017.
.NET Core 2.0 fue lanzado el 14 de agosto de 2017, junto con Visual Studio 2017 15.3, ASP.NET Core 2.0 y Entity Framework Core 2.0. .NET Core 2.1 fue lanzado el 30 de mayo de 2018. .NET Core 2.2 fue lanzado el 4 de diciembre de 2018.
.NET Core 3 fue anunciado el 7 de mayo de 2019 en la conferencia Microsoft Build. La versión 3.0.0 fue lanzada el 23 de septiembre de 2019. .NET Core 3 incluye soporte para aplicaciones de escritorio, inteligencia artificial, aprendizaje automático y aplicaciones de IoT.  La próxima versión de NET Core será .NET 5.
.NET Framework quedará en desuso, y .NET 5 será el único estándar .NET en el futuro, de ahí la eliminación de la marca "Core" y la omisión de la versión 4 para evitar confusiones con .NET Framework 4.x.
| Versión | Fecha de lanzamiento | Lanzado con | Última actualización | Última fecha de actualización | Soporte |
| .NET Core 1.0 | 27-06-2016 | Visual Studio 2015 Update 3 | 1.0.16 | 14-05-2019 | Finalizado el 27 de junio de 2019 |
| .NET Core 1.1 | 16-11-2016 | Visual Studio 2017 versión 15.0 | 1.1.13 | 14-05-2019 | Finalizado el 27 de junio de 2019 |
| .NET Core 2.0 | 14-08-2017 | Visual Studio 2017 versión 15.3 | 2.0.9 | 10-07-2018 | Finalizado el 1 de octubre de 2018 |
| .NET Core 2.1 | 30-05-2018 | Visual Studio 2017 versión 15.7 | 2.1.30 (LTS) | 19-08-2021 | Finalizado el 21 de agosto de 2021 |
| .NET Core 2.2 | 04-12-2018 | Visual Studio 2019 versión 16.0 | 2.2.8 | 19-11-2019 | Finalizado el 23 de diciembre de 2019 |
| .NET Core 3.0 | 23-09-2019 | Visual Studio 2019 versión 16.3 | 3.0.3 | 18-02-2020 | Finalizado el 3 de marzo de 2020 |
| .NET Core 3.1 | 03-12-2019 | Visual Studio 2019 versión 16.4 | 3.1.32 (LTS) | 13-12-2022 | Finalizado el 13 de diciembre de 2022 |
| .NET 5 | 10-11-2020 | Visual Studio 2019 versión 16.8 | 5.0.17 | 10-05-2022 | Finalizado el 10 de mayo de 2022 |
| .NET 6 | 08-11-2021 | Visual Studio 2022 versión 17.0 | 6.0.36 (LTS) | 12-11-2024 | Finalizado el 12 de noviembre de 2024 |
| .NET 7 | 08-11-2022 | Visual Studio 2022 versión 17.4 | 7.0.20 | 28-05-2024 | Finalizado el 14 de mayo de 2024 |
| .NET 8 | 14-11-2023 | Visual Studio 2022 versión 17.8 | 8.0.14 (LTS) | 11-03-2025 | Hasta el 10 de noviembre de 2026 |
| .NET 9 | 12-11-2024 | Visual Studio 2022 versión 17.12 | 9.0.3 | 11-03-2025 | Hasta el 12 de mayo de 2026 |
| .NET 10 | Noviembre 2025 (proyectado) | | (LTS) | | Noviembre 2028 (proyectado) |

## Lenguajes soportados

.NET Core es totalmente compatible con C# y F# y desde la versión 3.0 con Visual Basic .NET

## Arquitecturas

.NET Core admite cuatro escenarios multiplataforma:
* ASP.NET Core: Desarrollo de aplicaciones web
* Aplicaciones de consola.
* Librería de clases.
* Windows Presentation Foundation: Permite el desarrollo de aplicaciones de escritorio con interfaces gráficas sobre Windows.
Con la introducción de .NET Core 3.0, se admitió el soporte para el desarrollo de aplicaciones de escritorio en Windows Forms y Windows Presentation Foundation para sistemas Windows;
.NET Core admite el uso de paquetes NuGet. A diferencia de .NET Framework, que utiliza Windows Update, .NET Core utiliza su propio sistema de gestión de paquetes para recibir actualizaciones.
Similar a cómo .NET Framework implementa la Infraestructura de lenguaje común (CLI) a través de Common Language Runtime (CLR) y la Framework Class Library (FCL), .NET core implementa CoreCLR y CoreFX, respectivamente.
Como implementación CLI del sistema de ejecución virtual (VES), CoreCLR es un sistema en tiempo de ejecución y máquina virtual para la ejecución de código gestionado.
.NET Core contiene CoreRT, el cual provee compilación anticipada en código nativo optimizado y un compilador justo a tiempo llamado RyuJIT.
CoreFX comparte gran parte de las bibliotecas estándar presentes en .NET Framework, sin embargo, también viene con sus propias bibliotecas que no forman parte de .NET Framework.
Una variante de .NET Core se usa para el desarrollo y ejecución de aplicaciones UWP en Windows 10.
La interfaz de línea de comandos de .NET Core ofrece un punto de entrada de ejecución para el sistema operativo y proporciona servicios de desarrollador como compilación y gestión de paquetes.

## .NET MAUI

.NET MAUI es un marco multiplataforma para crear aplicaciones móviles y de escritorio a partir de una única base de código C#. .NET MAUI está disponible para crear aplicaciones de cliente enriquecidas dirigidas a dispositivos móviles con iOS y Android y computadoras de escritorio con Windows y MacOS. Microsoft ha anunciado el fin del soporte para Xamarin, por lo que .NET MAUI es una opción para crear aplicaciones multiplataforma.

## .NET Aspire

.NET Aspire es una pila nativa de la nube para crear aplicaciones distribuidas. .NET Aspire proporciona un conjunto de patrones y herramientas para simplificar la creación y ejecución de aplicaciones. .NET Aspire ayuda con:
* Estampación. .NET Aspire ofrece una variedad de plantillas de proyectos y experiencias de herramientas diseñadas específicamente para Visual Studio y dotnet CLI.
* Orquestación. .NET Aspire ayuda en la ejecución y establecimiento de conexiones entre aplicaciones de múltiples proyectos y sus dependencias asociadas.
* Componentes. Los componentes de .NET Aspire son paquetes NuGet diseñados específicamente para servicios ampliamente utilizados como Redis o PostgresSQL. Esto garantiza una conexión consistente y fluida a su aplicación.