¡Bienvenido a ASP.NET Core con Gemini! 🚀

Tu camino definitivo para crear **aplicaciones web modernas** y **APIs de alto rendimiento**.

💡 Fundamentos y El Entorno Core

Entiende por qué ASP.NET Core es el futuro del desarrollo web y cómo montar tu estación de trabajo.

¿Qué es ASP.NET Core?

Es un framework **multiplataforma, de código abierto y modular** para construir aplicaciones web. Permite a C# correr en Linux y Mac.

💡 **Dato clave:** Su diseño modular lo hace perfecto para **microservicios**.

El Motor de Ejecución

Conoce los componentes esenciales:

  • **CLR:** El corazón que ejecuta el código C#.
  • **Kestrel:** El servidor web ligero y de alto rendimiento integrado.
  • **NuGet:** El gestor de librerías y paquetes.

Preparando el Entorno

Necesitas el **.NET SDK** para compilar y el IDE (VS Code o Visual Studio) para codificar. ¡Instala la última versión!

Descargar .NET SDK

🛠️ Ejercicio Interactivo 1: Tu Primera Aplicación de Consola

Usa la CLI (Command Line Interface) para crear y ejecutar tu primer programa C# sin necesidad de un IDE:

🎥 Recurso Visual: Si prefieres un video, aquí tienes una introducción completa:

🏗️ APIs Web y MVC: Construyendo el Backend

Aprende a estructurar aplicaciones web completas utilizando el patrón MVC y a crear servicios RESTful.

Patrón MVC (Modelo-Vista-Controlador)

El pilar de las aplicaciones web. **Controladores** manejan la lógica, **Modelos** gestionan los datos, y las **Vistas** presentan la interfaz (UI).

[Image of the Model-View-Controller (MVC) architectural pattern flow]

Creación de APIs RESTful

Usa **Controladores API** y atributos HTTP (`[HttpGet]`, `[HttpPost]`) para exponer recursos. Ideal para aplicaciones de una sola página (SPA).

Comando clave: dotnet new webapi

Inyección de Dependencias (DI)

Un concepto central: Permite a los servicios ser **desacoplados** y reutilizables. Se configura en el archivo `Program.cs` o `Startup.cs`.

builder.Services.AddScoped<IMiServicio, MiServicio>();

🛠️ Ejercicio Interactivo 2: Diseñando una API de Tareas

Vamos a crear un controlador básico. ¿Qué método HTTP usarías para eliminar un recurso?

Guía Oficial de APIs Web

🔗 Bases de Datos y Configuración

Aprende a integrar la persistencia de datos y a gestionar las variables del entorno de manera segura y profesional.

Entity Framework Core (EF Core)

Es el **ORM (Mapeador Objeto-Relacional)** de Microsoft. Permite que uses clases y objetos de C# (los **Modelos**) para interactuar con la base de datos.

Conceptos Clave: **DbContext** y **DbSet**.

Migraciones de Base de Datos

Las migraciones permiten aplicar cambios a la estructura de tu base de datos de forma controlada. Es la práctica estándar para gestionar la evolución del esquema.

Se utiliza para añadir tablas, modificar columnas o relaciones de forma segura.

Manejo de la Configuración

La información sensible (cadenas de conexión, claves API) **nunca** debe estar en el código. ASP.NET Core lo gestiona con:

  • **appsettings.json:** Archivo principal de configuración.
  • **appsettings.Development.json:** Sobrescribe la configuración.
  • **Secrets Manager:** Para claves sensibles en el entorno local.

🛠️ Ejercicio Interactivo 3: Aplicando tu Primera Migración

Este laboratorio simula el proceso de añadir una nueva propiedad a tu modelo de datos y actualizar la base de datos con EF Core.

Tutorial Oficial de EF Core

🌟 Temas Avanzados y Siguientes Pasos

Lleva tus conocimientos al siguiente nivel, asegurando tus aplicaciones y explorando el desarrollo Full-Stack.

Autenticación y Seguridad (JWT)

Asegurar tu API es crucial. **Autenticación** verifica la identidad del usuario y **Autorización** define lo que puede hacer.

Las APIs usan a menudo tokens **JWT** (JSON Web Tokens) para validar al usuario en cada solicitud.

Comunicación en Tiempo Real (SignalR)

Necesitas actualizar datos en el navegador inmediatamente (ej. chats). **SignalR** simplifica la adición de funcionalidad web en tiempo real usando **WebSockets**.

Es una solución sencilla y robusta integrada directamente en ASP.NET Core.

Blazor: C# en el Frontend

Olvídate del JavaScript si quieres. **Blazor** te permite construir interfaces de usuario web interactivas (Frontend) usando C# y el estándar **WebAssembly**.

Esto permite el desarrollo **Full-Stack** en un solo lenguaje: C#.


📚 Recursos y Comunidad

Continúa tu aprendizaje con estas guías y laboratorios esenciales:

Documentación Oficial

La guía más completa y actualizada sobre todas las versiones de .NET y ASP.NET Core.

Docs de Microsoft

Laboratorio de Blazor

Prueba a construir tu primer componente de interfaz de usuario con C#.

Empezar con Blazor