Common Language Runtime (CLR) -> Componente de .NET es responsable de ejecutar aplicaciones
El Common Language Runtime es el entorno de ejecución de .NET.
Es el equivalente a la JVM en Java.
Entre sus funciones están:
- ejecutar aplicaciones .NET;
- compilar código intermedio (IL/CIL) a código máquina mediante JIT (Just-In-Time);
- gestionar la memoria (Garbage Collector);
- gestionar excepciones;
- controlar la seguridad;
- administrar los hilos de ejecución.
Visual Studio -> Es un IDE. Sirve para desarrollar aplicaciones, no para ejecutarlas
Entity Framework -> Es un ORM. Facilita el acceso a bases de datos
Microsoft SQL Server -> Es un SGBD, no un componente del entorno de ejecución .NET.
Arquitectura .NET
Código C#
↓
Compilador
↓
IL / CIL (Intermediate Language)
↓
CLR
↓
Código máquina (JIT)
↓
CPU
CLR
Funciones principales
- Ejecutar aplicaciones.
- JIT Compiler.
- Garbage Collector.
- Gestión de memoria.
- Seguridad.
- Excepciones.
- Threads.
Otros componentes de .NET
| Componente | Función |
|---|---|
| CLR | Ejecuta aplicaciones |
| BCL/FCL | Bibliotecas de clases |
| ASP.NET | Aplicaciones web |
| Entity Framework | Acceso a BD (ORM) |
| Visual Studio | IDE |
| MSBuild | Compilación |
Truco para recordar
- CLR → Runtime → Ejecuta.
- Visual Studio → Desarrolla.
- Entity Framework → Base de datos.
- SQL Server → Almacena datos.
El framework .NET se compone de: -> Una biblioteca de clases (FCL) y del entorno común de ejecución (CLR)
El .NET Framework se compone fundamentalmente de dos elementos:
- CLR (Common Language Runtime)
- Entorno común de ejecución.
- Ejecuta el código.
- Gestiona la memoria (Garbage Collector).
- Gestiona excepciones.
- Seguridad.
- Gestión de hilos.
- FCL (Framework Class Library)
- Biblioteca de clases reutilizables.
- Contiene miles de clases para:
- colecciones;
- acceso a ficheros;
- red;
- XML;
- bases de datos;
- interfaces gráficas;
- etc.
La CLS (Common Language Specification) forma parte de la plataforma .NET, pero no es uno de sus dos componentes principales. Los DLL son simplemente ensamblados (.NET assemblies).
Esquema muy útil para estudiar
.NET Framework
Se compone de:
CLR
(Common Language Runtime)
Funciones:
- Ejecutar programas.
- Garbage Collector.
- Seguridad.
- Excepciones.
- Hilos.
FCL
(Framework Class Library)
Contiene:
- String.
- Collections.
- IO.
- XML.
- Networking.
- ADO.NET.
- Windows Forms.
- ASP.NET.
No confundir
| Siglas | Significado | Función |
|---|---|---|
| CLR | Common Language Runtime | Ejecuta programas |
| FCL | Framework Class Library | Biblioteca de clases |
| CLS | Common Language Specification | Reglas para los lenguajes |
| CTS | Common Type System | Sistema común de tipos |
| IL (MSIL/CIL) | Intermediate Language | Código intermedio |
Truco para recordar
Piensa que .NET necesita dos cosas:
- Un motor → CLR.
- Una caja de herramientas → FCL.
Todo lo demás (CLS, CTS, CIL…) son especificaciones o mecanismos de soporte.