Introducción a .NET

CLR (Common language runtime)

Entorno de ejecucion para .NET. En tiempo de ejecucion el compilador de CLR convierte el codigo CIL en codigo nativo para el SO. Facilita la integración entre lenguajes.

CLR es la MV en la que se ejecutan nuestras apps. CLR se hizo para tener una capa de abstraccion entre las propias apps y el SO donde se ejecutaban.

El CLI se puede ejecutar en otros SO. El CLR se ejecuta solo en Windows.

.NET intro

.NET intro

Cada lenguaje se compila a Common Language Infrastructure (CLI) y este genera el codigo maquina.

Las versiones de CLR no están atadas a una versión de .NET Framework.

.NET intro

.NET Framework vs .NET Core

Las versiones de .NET Framework solo se pueden ejecutar en Windows. Las de .NET Core se pueden en MAC o Linux. .NET Core es una reinterpretación completa ya que .NET Framework tenia que portar la libreria entera aunque no usaras el 90%. Eso se ha cambiado con .NET Core.

.NET Framework

  • Ligado a Windows
  • Uso de CLR
  • Libreria completa pero pesada. Cuando compilas te tienes que llevar todas las dependencias.
  • Software propietario

.NET Core

  • Reinterpretación completa de .NET Framework.
  • Multiplataforma.
  • Codigo abierto.
  • Se puede implementar como parte de la propia app. No hace falta tener el SDK donde se va a ejecutar la app.
  • Mejor rendimiento.
  • No se han migrado todas las librerias de .NET Framework.

.NET intro

.NET Standard

.NET Standard es una specificacion de las APIs de .NET disponibles en multiples implementaciones. Esto sirve por ejemplo si quieres compartir codigo entre .NET Framework y .NET Core.

Para esto la última version es .NET Standard 2.0 (no se van a sacar nuevas versiones), pero .NET 5, .NET 6 y todas sus futuras versiones soportarán .NET Standard 2.1 y previas.

Novedades .NET 5

Se pasa de .Net Core 3.1 a .Net 5

.NET intro

Se ha quitado Core del nombre y se seguirá con la nomenclatura .NET

Versiones .NET y C#

.NET intro

Reference(s)

https://docs.microsoft.com/en-us/dotnet/standard/net-standard?tabs=net-standard-1-0