Entender las versiones de .NET: .NET Core, .NET Standard, .NET Framework y más
Navegar por el ecosistema .NET puede resultar confuso con términos como .NET, .NET SDK, .NET Core, .NET Standard y .NET Framework. Cada una de ellas desempeña un papel único en el entorno de desarrollo de C# con Visual Studio 2022, y comprender sus diferencias es crucial para elegir el marco de trabajo de destino adecuado para su proyecto.
Este artículo, basado en el vídeo de Tim Corey ".NET Versions Explained - .NET, .NET Core, .NET Standard, .NET Framework and more", pretende simplificar estos términos y ofrecer una orientación clara sobre cuáles utilizar y cuándo.
Por qué es necesario que exista .NET Core
.NET Framework, a menudo conocido simplemente como .NET, ha sido un elemento básico en el desarrollo de software y en la ejecución de escritorio durante más de dos décadas. Sin embargo, sus limitaciones hicieron necesaria la creación de .NET Core. Tim Corey destaca varias razones clave:
-
Parches y soluciones: Con el tiempo, .NET Framework acumuló numerosos parches y soluciones que lo ralentizaron considerablemente (1:35).
-
Dependencia de Windows: .NET Framework está profundamente integrado con Windows, lo que dificulta su uso en otras plataformas. Esta dependencia dificultaba el desarrollo multiplataforma (2:03).
-
Diseño monolítico: .NET Framework se diseñó para incluirlo todo en un solo paquete, lo que, aunque cómodo, resultó en un sistema hinchado y menos eficiente (2:25).
- Concepción obsoleta: Desarrollado hace más de 20 años, el .NET Framework no se diseñó pensando en el uso moderno de Internet y los dispositivos móviles (3:20).
La estructura de las aplicaciones .NET
Para entender las ventajas de .NET Core, es importante comprender cómo se estructura una aplicación .NET.

Como explica Tim Corey:
-
Código fuente C#: El código C# se compila primero en código de lenguaje intermedio (IL) (5:49).
- Common Language Runtime (CLR): El código IL es ejecutado por el CLR. .NET Framework y .NET Core tienen CLR diferentes, pero procesan el código IL de forma similar, lo que permite que gran parte del código fuente siga siendo el mismo en ambas plataformas (6:42).
Beneficios de .NET Core sobre .NET Framework
el tiempo de ejecución de .NET Core es un marco de desarrollo desarrollado para subsanar las deficiencias de .NET Framework. Tim Corey destaca sus principales ventajas:
-
Compatibilidad multiplataforma: A diferencia de .NET Framework, .NET Core está diseñado para funcionar en múltiples plataformas, como Windows, Mac, Linux, Android, iOS, Xbox, IoT, etc.
-
Rendimiento: .NET Core ofrece mejoras significativas en el rendimiento. Elimina los parches heredados y es compatible con las prácticas modernas de hardware y software, por lo que es más rápido que .NET Framework.
-
Modularidad: .NET Core es modular, lo que permite a los desarrolladores incluir solo los componentes necesarios, reduciendo la sobrecarga y mejorando la eficiencia.
-
Características modernas: .NET Core incorpora características más modernas, como la inyección de dependencias y el registro, que promueven las mejores prácticas de desarrollo.
-
Código abierto: .NET Core es de código abierto, lo que fomenta las contribuciones de la comunidad y la transparencia en el desarrollo.
-
Cumplimiento de los estándares del sector: .NET Core se adhiere a los estándares del sector, lo que garantiza la compatibilidad y la integración con las tecnologías modernas, a diferencia de .NET Framework, que se limita a entornos Windows.
- Fácil de actualizar: La actualización de .NET Core es generalmente sencilla, a menudo solo requiere cambios en los números de versión y la actualización de los paquetes NuGet. La parte del proceso de actualización que corresponde a Microsoft está simplificada, con menos cambios de última hora en comparación con .NET Framework, que históricamente implicaba actualizaciones más complejas y problemáticas.
.NET Standard
Tim explica que .NET Standard es una especificación que define un conjunto de API que todas las plataformas .NET deben implementar y no es sólo un tiempo de ejecución. Proporciona una API uniforme que garantiza la compatibilidad del código entre las distintas implementaciones de .NET. Esto significa que se pueden escribir bibliotecas que funcionen tanto en .NET Core como en .NET Framework. En el minuto 33:35, Tim habla de todas las versiones de .NET Standard hasta la última. El resumen se muestra a continuación en la captura de pantalla:

Desglose detallado de las versiones de .NET
Tiempo de .NET Framework
.NET Framework existe desde principios de la década de 2000 y está estrechamente integrado con Windows. Es adecuado para crear aplicaciones web y de escritorio para Windows, pero está limitado en cuanto a sus capacidades multiplataforma.
.NET Framework 1.0 (enero de 2002)
Tim Corey describe el lanzamiento inicial de .NET Framework 1.0 como revolucionario, ya que introdujo el concepto de un lenguaje intermedio común que permitía que varios lenguajes de programación trabajaran juntos (40:07). Esta versión fundacional sienta las bases para futuros desarrollos al ofrecer una plataforma unificada para varios idiomas.
.NET Framework 2.0 (octubre de 2005)
Tres años más tarde, .NET Framework 2.0 introdujo mejoras significativas y nuevas funciones, continuando el crecimiento de la plataforma (41:40). Esta versión destaca por sus características lingüísticas mejoradas y su compatibilidad con una gama más amplia de aplicaciones.
Principales actualizaciones:
-
Noviembre de 2006: se presenta .NET Framework 3.0 (41:43).
-
Noviembre de 2007: se lanza .NET Framework 3.5, un hito importante (41:49).
-
Abril de 2010: aparece .NET Framework 4.0, la última versión importante (42:13).
-
Agosto de 2012: se lanzó .NET Framework 4.5 (42:50).
- Abril de 2019: se lanzó .NET Framework 4.8, la última versión menor (47:17).
Versiones de .NET Core
.NET Core 1.0 (junio de 2016)
Tim Corey se refiere a .NET Core 1.0 como una prueba de concepto con funcionalidad limitada, destinada a demostrar el potencial de .NET Core (43:32). Esta versión inicial sentó las bases, pero no fue ampliamente adoptada debido a sus limitadas funciones.
.NET Core 2.0 (agosto de 2017)
Lanzada como una actualización con más funciones, .NET Core 2.0 incluye importantes avances, sobre todo en el desarrollo de aplicaciones web (45:23). Sin embargo, no se trataba de una versión LTS, y Tim destaca que contenía cambios de última hora que condujeron a la publicación de una versión más estable posteriormente.
.NET Core 2.1 (mayo de 2018)
.NET Core 2.1 era una versión LTS (Long-Term Support), que Tim señala como crucial para las empresas que necesitan estabilidad y soporte ampliado (45:42). Se trata de una actualización significativa que hace que .NET Core sea más adecuado para su uso en producción.
.NET Core 3.0 (septiembre de 2019)
.NET Core 3.0 introdujo soporte para aplicaciones de escritorio, incluidas WinForms y WPF, ampliando su uso más allá de las aplicaciones web (53:04). Este lanzamiento convirtió a .NET Core en una plataforma más completa, atrayendo a las empresas a migrar desde .NET Framework.
.NET Core 3.1 (diciembre de 2019)
Sobre la base de la versión 3.0, .NET Core 3.1 es otra versión LTS que ofrece soporte y estabilidad continuos para aplicaciones web y de escritorio (53:16). Tim explica que esta versión marcó un punto en el que .NET Core se consideró completo y fiable para el uso empresarial.
.NET 5 y más allá
.NET 5.0 (noviembre de 2020)
Con el lanzamiento de .NET 5, Microsoft eliminó el "Core" del nombre para simplificar la marca (58:03). Tim explica que este cambio pretendía reducir la confusión entre .NET Framework y .NET Core. .NET 5 supuso un gran paso en la unificación del ecosistema .NET bajo un único nombre.
.NET 6.0 (noviembre de 2021)
.NET 6 continuó el ciclo de versiones anuales introducido con .NET 5 (59:56). Tim señala que cada nueva versión, incluida .NET 6, forma parte de un ritmo de actualización anual, lo que permite realizar mejoras y añadir funciones con regularidad.
.NET 7.0 (noviembre de 2022)
.NET 7 siguió el patrón de lanzamientos anuales, haciendo avanzar aún más la plataforma con pequeñas actualizaciones y mejoras (59:56). Tim comenta los detalles de cómo esta versión, junto con sus predecesoras, refleja el compromiso de Microsoft con el desarrollo y la innovación continuos en el ecosistema .NET.

Entender las versiones de .NET y el ciclo de vida de soporte
Tim Corey ofrece una explicación detallada de las versiones de .NET y su ciclo de vida de soporte en (1:01:27). He aquí un resumen de los puntos clave tratados:
Ciclo de vida del soporte: STS vs. LTS
Tim Corey explica la diferencia entre dos tipos de ventanas de soporte: Standard Term Support (STS) y Long-Term Support (LTS).
-
STS (Asistencia técnica estándar): Proporciona una ventana de soporte de 18 meses. Por ejemplo, .NET 5, publicado en noviembre de 2020, recibió soporte hasta mayo de 2022. .NET 7, publicado en noviembre de 2022, tiene un periodo de asistencia similar de 18 meses, que finaliza en mayo de 2024.
- LTS (Soporte a largo plazo): Ofrece una ventana de soporte más larga de 3 años. .NET 6, que salió en noviembre de 2021, es compatible hasta noviembre de 2024. .NET 8, cuyo lanzamiento está previsto para noviembre de 2023, será la próxima versión LTS, que ofrecerá soporte hasta noviembre de 2026.
Tim señala que, si bien los desarrolladores de aplicaciones que se mueven con rapidez pueden preferir las versiones STS para acceder a las últimas funciones, las empresas suelen decantarse por las versiones LTS por su estabilidad y un soporte más prolongado.
Ruta de actualización y versiones
Tim Corey describe la ruta de actualización de las versiones de .NET:
-
De .NET 5 a .NET 6: Tiene un año de solapamiento en el que ambas versiones son compatibles.
-
De .NET 6 a .NET 8: Dispondrá de un año completo para actualizar de .NET 6 a .NET 8 antes de que finalice la compatibilidad con .NET 6.
- Futuras actualizaciones: Siguiendo este patrón, .NET 8 (por ahora es la última versión) será compatible hasta que llegue .NET 10, lo que le dará tiempo suficiente para actualizarse.
Tim subraya que este ciclo de lanzamiento predecible permite a las empresas planificar sus actualizaciones con confianza.

Estrategia de soporte de Microsoft
Tim habla del enfoque de Microsoft en materia de soporte y desarrollo:
-
Coste y complejidad: Ampliar la compatibilidad con versiones anteriores puede resultar caro y complejo debido a la necesidad de mantener las actualizaciones de seguridad en varias versiones. Esta es la razón por la que Microsoft ha adoptado una estrategia de soporte más predecible y manejable.
- Marco de trabajo modular: El enfoque modular de .NET Core y .NET permite actualizaciones rápidas de las características y un ciclo de vida de soporte más manejable.
Elegir entre .NET Framework y .NET Core
Tim Corey aconseja cuándo utilizar las distintas versiones de .NET:
-
.NET Framework: Utilízalo para proyectos existentes o cuando des soporte a sistemas operativos antiguos como Windows XP.
- .NET Core (ahora .NET): Para proyectos nuevos, empieza con la última versión de .NET. La actualización de versiones anteriores de .NET Framework a .NET puede ofrecer importantes mejoras de rendimiento.
ASP.NET frente a ASP.NET Core
Tim explica las diferencias entre ASP.NET y ASP.NET Core:
-
ASP.NET: se basa en .NET Framework y es compatible con Web Forms, MVC y Web API. Los formularios web, en particular, no están incluidos en ASP.NET Core.
- ASP.NET Core: Un marco modular para crear aplicaciones web en .NET Core. Incluye Razor Pages, MVC, API, Blazor Server y Blazor WebAssembly. ASP.NET Core está diseñado para ser más flexible y moderno que su predecesor.
Tim, en el minuto 1:21:00, aclara que ASP.NET Core sigue apoyando el desarrollo web con nuevas funciones y una mayor modularidad, mientras que ASP.NET (Framework) es más tradicional y se limita a versiones .NET más antiguas.
Conclusión
Tim Corey ofrece una guía clara y perspicaz para navegar por el ecosistema .NET, desde el contexto histórico de .NET Framework hasta las capacidades modernas de .NET Core y más allá. Su vídeo explica la evolución de las versiones de .NET, la necesidad de .NET Core y las ventajas de la modularidad y la compatibilidad entre plataformas. Tanto si se trata de elegir entre .NET Framework y .NET Core como de comprender el ciclo de vida de soporte de las distintas versiones de .NET, las explicaciones de Tim proporcionan una valiosa hoja de ruta para tomar decisiones de desarrollo informadas.
Para más información y ejemplos prácticos de programación, visite el canal de YouTube de Tim Corey, IAmTimCorey.

