La plataforma .NET (pronunciada como " punto net" ) es un marco de software informático administrado , libre 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 la Fundación .NET y se publica bajo una licencia MIT . [3]
A finales de la década de 1990, Microsoft comenzó a desarrollar un lenguaje de programación y un entorno de ejecución de código administrado ( C# ) que presentó en conjunto como parte de la "plataforma .NET", con el entorno de ejecución central y las bibliotecas de software que comprendían .NET Framework .
En el corazón de la plataforma .NET se encuentra .NET Framework, un entorno de desarrollo y ejecución multilenguaje de alta productividad para crear y ejecutar servicios web con características importantes como herencia entre lenguajes y depuración. [5]
Poco después del anuncio del lenguaje C# en la Conferencia de Desarrolladores Profesionales de 2000 y de que se publicaran versiones preliminares de su software, Microsoft inició un esfuerzo de estandarización a través de ECMA para lo que denominó Infraestructura de Lenguaje Común . Mientras tanto, la empresa continuó con el desarrollo y el 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 de código abierto y multiplataforma [6] [7] de .NET Framework— y publicó el código fuente para la implementación de .NET Core CoreCLR , fuente de "toda la pila de bibliotecas [...]" para .NET Core, [8] y anunció la adopción de un modelo de desarrollo de código abierto convencional ( "tipo bazar" ) bajo la administración de la .NET Foundation . 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 todas las futuras plataformas .NET". 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 renovación de la 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 seleccionada anteriormente, explicando que hacía que el nombre clave Rotor fuera "una opción imposible" 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 de rendimiento significativas 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 fusión con .NET Framework, cuyas últimas versiones habían utilizado la versión 4.x para todas las versiones importantes (no de 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 tiene soporte nativo 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 la versión 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 compatibles con el antiguo .NET Core). [33]
VB.NET se compila y se ejecuta en .NET, pero a partir de .NET Core 3.1, no se implementa el Visual Basic Runtime independiente. Microsoft anunció inicialmente que .NET Core 3 incluiría el 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 línea de comandos/consola, 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 el 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 de widgets GTK .
.NET admite el uso de paquetes NuGet . A diferencia de .NET Framework , que se gestiona 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 enviarse a través de Windows Update. [38]
Los dos componentes principales de .NET son CoreCLR y CoreFX, que son comparables al Common Language Runtime (CLR) y a la Framework Class Library (FCL) de la implementación de Common Language Infrastructure (CLI) de .NET Framework . [39]
Como una implementación del Sistema de Ejecución Virtual (VES) de CLI, CoreCLR es un entorno de ejecución completo y una máquina virtual 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 entorno de ejecución nativo de .NET optimizado para integrarse en binarios nativos compilados por AOT . [42]
Como implementación de las bibliotecas estándar de CLI , [43] CoreFX comparte un subconjunto de las API de .NET Framework, sin embargo, también viene con sus propias API que no son 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 para desarrolladores como compilación y gestión de paquetes. [45]
.NET Multi-platform App UI ( .NET MAUI , introducido 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 e iOS .
La mascota oficial de la comunidad de .NET es el bot .NET (estilizado como "bot dotnet" o "bot dotnet"). El bot dotnet sirvió como desarrollador sustituto para el registro inicial del código fuente de .NET cuando se convirtió en código abierto. [47] Desde entonces se ha utilizado como mascota oficial.
{{cite web}}
: Falta o está vacío |title=
( ayuda ){{cite web}}
: Falta o está vacío |title=
( ayuda )