La plataforma .NET (pronunciada como " punto net" ) es un marco de software informático administrado , gratuito y de código abierto para los sistemas operativos Windows , Linux y macOS . [4] El proyecto es desarrollado principalmente por empleados de Microsoft a través de .NET Foundation y se publica bajo una licencia MIT . [3]
A finales de la década de 1990, Microsoft comenzó a desarrollar un tiempo de ejecución de código administrado y un lenguaje de programación ( C# ) que facturó en conjunto como parte de la "plataforma .NET", con el tiempo de ejecución principal y las bibliotecas de software comprendiendo .NET Framework .
En el corazón de la plataforma .NET se encuentra .NET Framework, un entorno de ejecución y desarrollo multilenguaje de alta productividad para crear y ejecutar servicios web con características importantes como herencia y depuración entre idiomas. [5]
Poco después del anuncio del lenguaje C# en la Conferencia de Desarrolladores Profesionales de 2000 y de que estuvieran disponibles las vistas previas de su software, Microsoft comenzó un esfuerzo de estandarización a través de ECMA para lo que denominó Common Language Infrastructure . Mientras tanto, la empresa continuó con el desarrollo y soporte de su propia implementación como software propietario de código cerrado .
El 12 de noviembre de 2014, Microsoft presentó .NET Core , un sucesor [ 7] de código abierto y multiplataforma [ 6] de .NET Framework , y lanzó el código fuente para la implementación de .NET Core CoreCLR , fuente de "todo [ ...] pila de biblioteca" para .NET Core, [8] y anunció la adopción de un modelo de desarrollo de código abierto convencional ( "bazar" ) bajo la dirección de la Fundación .NET . Miguel de Icaza describe .NET Core como una "versión rediseñada de .NET que se basa en la versión simplificada de las bibliotecas de clases", [9] e Immo Landwerth de Microsoft explicó que .NET Core sería "la base de todo .NET futuro". plataformas". En el momento del anuncio, el lanzamiento inicial del proyecto .NET Core había sido sembrado con un subconjunto del código fuente de las bibliotecas y coincidió con la nueva licencia de la fuente de referencia .NET existente de Microsoft lejos de las restricciones de Ms-RSL . Landwerth reconoció las desventajas de la licencia compartida anteriormente seleccionada y explicó que hacía que el nombre en clave Rotor fuera "un fracaso" como proyecto de código abierto desarrollado por la comunidad porque no cumplía con los criterios de una licencia aprobada por la Iniciativa de Código Abierto (OSI). [10] [11] [12]
.NET Core 1.0 se lanzó el 27 de junio de 2016, [13] junto con Microsoft Visual Studio 2015 Update 3, que permite el desarrollo de .NET Core. [14] .NET Core 1.0.4 y .NET Core 1.1.1 se lanzaron junto con .NET Core Tools 1.0 y Visual Studio 2017 el 7 de marzo de 2017. [15]
.NET Core 2.0 se lanzó el 14 de agosto de 2017, junto con Visual Studio 2017 15.3, ASP.NET Core 2.0 y Entity Framework Core 2.0. [16] .NET Core 2.1 se lanzó el 30 de mayo de 2018. [17] NET Core 2.2 se lanzó el 4 de diciembre de 2018. [18]
.NET Core 3 se lanzó el 23 de septiembre de 2019. [19] NET Core 3 agrega soporte para el desarrollo de aplicaciones de escritorio de Windows [20] y mejoras significativas de rendimiento en toda la biblioteca base.
En noviembre de 2020, Microsoft lanzó .NET 5.0. [21] Se abandonó la marca "Core" y se omitió la versión 4.0 para evitar la confusión con .NET Framework, del cual las últimas versiones habían utilizado la versión 4.x para todas las versiones importantes (sin corrección de errores) desde 2010.
Aborda las preocupaciones sobre patentes relacionadas con .NET Framework [ cita requerida ] .
En noviembre de 2021, Microsoft lanzó .NET 6.0, [22] en noviembre de 2022 lanzó .NET 7.0, [23] y en noviembre de 2023 lanzó .NET 8.0. [24]
Alpine Linux , que principalmente admite y utiliza musl libc, [31] es compatible desde .NET Core 2.1. [32]
Windows Arm64 es compatible de forma nativa desde .NET 5. Anteriormente, .NET en ARM significaba aplicaciones compiladas para la arquitectura x86 y ejecutadas a través de la capa de emulación ARM. [30]
.NET es totalmente compatible con C# y F# (y C++/CLI a partir de 3.1; solo habilitado en Windows) y es compatible con Visual Basic .NET (para la versión 15.5 en .NET Core 5.0.100-preview.4, y algunas versiones antiguas son compatibles con versiones anteriores). .NET Core). [33]
VB.NET compila y se ejecuta en .NET, pero a partir de .NET Core 3.1, el Visual Basic Runtime independiente no está implementado. Microsoft anunció inicialmente que .NET Core 3 incluiría Visual Basic Runtime, pero después de dos años, el cronograma para dicho soporte se actualizó a .NET 5. [34] [35]
.NET admite los siguientes escenarios multiplataforma : aplicaciones web ASP.NET Core , aplicaciones de consola/línea de comandos, bibliotecas y aplicaciones de la Plataforma universal de Windows . Antes de .NET Core 3.0, no implementaba Windows Forms ni Windows Presentation Foundation (WPF), que representan la GUI estándar para software de escritorio en Windows. [36] Sin embargo, a partir de .NET Core 3, comenzó a implementarlos junto con la Plataforma universal de Windows (UWP). [37] También es posible escribir aplicaciones gráficas multiplataforma utilizando .NET con el enlace de lenguaje GTK# para el kit de herramientas del widget GTK .
.NET admite el uso de paquetes NuGet . A diferencia de .NET Framework , cuyo mantenimiento se realiza mediante Windows Update , .NET solía depender de su administrador de paquetes para recibir actualizaciones. [36] Sin embargo, desde diciembre de 2020, las actualizaciones de .NET también comenzaron a entregarse a través de Windows Update. [38]
Los dos componentes principales de .NET son CoreCLR y CoreFX, que son comparables a Common Language Runtime (CLR) y Framework Class Library (FCL) de la implementación de Common Language Infrastructure (CLI) de .NET Framework . [39]
Como implementación del sistema de ejecución virtual (VES) de CLI, CoreCLR es una máquina virtual y de tiempo de ejecución completo para la ejecución administrada de programas CLI e incluye un compilador justo a tiempo llamado RyuJIT. [40] [a] .NET Core también contiene CoreRT, el tiempo de ejecución nativo de .NET optimizado para integrarse en archivos binarios nativos compilados de AOT . [42]
Como implementación de las bibliotecas estándar de CLI , [43] CoreFX comparte un subconjunto de API de .NET Framework; sin embargo, también viene con sus propias API que no forman parte de .NET Framework. [36] Se utiliza una variante de la biblioteca .NET para UWP . [44]
La interfaz de línea de comandos .NET ofrece un punto de entrada de ejecución para sistemas operativos y proporciona servicios de desarrollador como compilación y administración de paquetes. [45]
La interfaz de usuario de la aplicación multiplataforma .NET ( .NET MAUI , introducida con .NET 6) es un marco multiplataforma para crear aplicaciones nativas móviles y de escritorio con C# y lenguaje de marcado de aplicaciones extensible (XAML), [46] que también es compatible con Android y iOS .
La mascota oficial de la comunidad de .NET es el .NET Bot (estilizado como "dotnet bot" o "dotnet-bot"). El bot dotnet sirvió como desarrollador de marcador de posición para el registro inicial del código fuente .NET cuando era de código abierto. [47] Desde entonces se ha utilizado como mascota oficial.
48. Diferencias entre .NET Framework y .NET Core www.techieclues.com
49. .NET 9.0.0-preview.3 ya está disponible dotnet.microsoft.com