Tutorial para aprender ASP.NET Core

Estrada Web Group
Estrada Web Group
Tutorial para aprender ASP.NET Core

En este tutorial de ASP.NET Core aprenderás los conceptos básicos para crear una aplicación web con ASP.NET Core MVC con Visual Studio 2019 o posterior. ASP.NET Core es el nuevo framework para construir aplicaciones web de Microsoft. En el futuro, ASP.NET Core reemplazará al actual ASP.NET Framework, aunque podríamos decir que ya lo está remplazando.

ASP.NET Core

ASP.NET Core es una colección de bibliotecas que forman el Framework para crear aplicaciones web. Debes tener claro que no es la actualización del ASP.NET Framework actual. Es la nueva versión escrita desde cero. Tiene una serie de cambios arquitectónicos que dan como resultado un Framework mucho más ágil y modular.

Al final de este tutorial de ASP.NET Core, aprenderás todo lo que necesita para comenzar a usar ASP.NET Core y construir aplicaciones web fácilmente. Comenzaremos desde lo básico creando una aplicación simple y continuaremos con los temas más avanzados.

Audiencia

Este tutorial está diseñado para programadores que deseen aprender a desarrollar aplicaciones web con ASP.NET Core desde cero

Requisitos previos

Se requiere que tengas conocimiento de la programación de C# para continuar con este tutorial de ASP.NET Core, si no tienes conocimientos de C#, no te preocupes, para eso puedes consultar este tutorial y seguir los dos a la par. El conocimiento de la versión anterior de ASP.NET es útil, pero no necesario. También se requieren conocimientos básicos de HTML, CSS y el uso del Visual Studio.

Tutorial de ASP.NET Core

El tutorial está dividido en 12 secciones y cada sección se compone de diferentes artículos para comprender cada uno de los temas, cómo vallamos avanzando se irán publicando y enlazando estos artículos para que puedas consultarlos desde un mismo lugar.

Primeros pasos con ASP.NET Core

1. Introducción a ASP.NET Core

Este artículo te ofrece una breve introducción a ASP.NET Core. Como ya comenté anteriormente ASP.NET Core es el nuevo Framework creado con el objetivo de la portabilidad entre plataformas.

2. Instalación y configuración del entorno de desarrollo de ASP.NET Core
3. Descargar el Framework de .Net Core

En este tutorial, veamos cómo configurar un entorno de desarrollo de ASP.NET Core para que puedas avanzar en el desarrollo de soluciones con ASP.NET Core. Analizamos cómo instalar o actualizar Visual Studio. Instalar el último SDK de Dot Net Core, etc.

4. CLI de Dotnet: herramientas de línea de comandos para ASP.NET Core

La CLI de dotnet es una interfaz de línea de comandos (CLI) que es una nueva herramienta para desarrollar las aplicaciones .NET. Es una herramienta multiplataforma y se puede utilizar en Windows, MAC o Linux. En este tutorial, aprenderás cómo usar .NET Cli para crear una aplicación ASP.NET Core simple.

5. Primeros pasos con ASP.NET Core Ejemplo de Hello World.

En este tutorial, comenzamos con la creación de una aplicación de ejemplo de ASP.NET Core, el típico Hello World. Usaremos Visual Studio como nuestro editor. La aplicación utilizará la plantilla vacía predeterminada, que muestra "Hello World". Antes de comenzar, debes instalar .NET Core SDK y Visual Studio Community Edition. También aprenderás a compilar y ejecutar la aplicación Hello World con la utilidad de línea de comandos dotnet.

Fundamentos de ASP.NET

1. Solución ASP.NET Core / Estructura del proyecto

En este capítulo, aprenderás cómo se organizan los elementos de la solución ASP.NET Core en Visual Studio y en el sistema de archivos.

2. Clase Program
3. Clase Startup

En este artículo, aprenderás sobre las clases Startup.cs y Program.cs con más detalle. La clase Program crea un servidor web en su método principal, mientras que la clase de Startup configura los servicios necesarios para responder la solicitud de la aplicación.

3. Kestrel: servidor web para ASP.NET Core

En este tutorial, aprenderás qué es y para qué sirve el servidor web Kestrel para ASP.NET Core. La forma en que se aloja la aplicación en ASP.NET Core ha sufrido cambios drásticos en comparación con la versión anterior de ASP.NET. El Kestrel es la nueva forma de alojar la aplicación ASP.NET Core. Se ejecuta dentro del proceso de solicitud, lo que lo hace completamente autónomo.

4. Middleware y solicitudes pipeline

En este artículo, aprenderás qué es Middleware y cómo funciona solicitudes pipeline o canalización de solicitudes (Request Pipeline) en la aplicación ASP.NET Core. Request Pipeline es el mecanismo mediante el cual se procesan las solicitudes comenzando con una Solicitud y terminando con una Respuesta. La canalización especifica cómo debe responder la aplicación a una solicitud HTTP.

5. Servicio de archivos estáticos en ASP.NET Core

En este artículo, aprenderás cómo servir archivos estáticos en ASP.NET Core. ASP.NET Core tiene la capacidad de entregar archivos estáticos como HTML, CSS, imágenes y JavaScript directamente a los clientes, sin pasar por el MVC Middleware.

Patrón de diseño MVC

1. Patrón de diseño MVC

Las aplicaciones web ASP.NET Core se basan en el popular patrón de diseño MVC. MVC Pattern significa Patrón Modelo-Vista-Controlador. En este tutorial, aprenderás qué es MVC y en el tutorial posterior, aprenderás cómo usar el patrón de diseño MVC en ASP.NET Core.

2. Creación de la primera aplicación ASP.NET Core

En este tutorial, aprenderás cómo crear una aplicación MVC Core de ASP.NET desde cero con Visual Studio. En el último artículo, aprendiste qué es MVC Design Pattern y cómo funciona en las aplicaciones ASP.NET MVC Core. En este artículo exploraremos la arquitectura MVC y te muestro cómo agregar el Middleware MVC a la aplicación. Luego, aprenderás cómo agregar un controlador, una vista y un modelo a la aplicación ASP.NET MVC Core.

Controladores (Controllers)

1. Conceptos básicos de los Controllers

En este tutorial. Te presento los conceptos básicos de los Controllers  de ASP.NET Core. Veremos el método de acción del controlador y el tipo de retorno de la Acción del controlador, es decir, los Resultados de la acción.

2. Enrutamiento en ASP.NET Core

Una de las partes más importantes de la arquitectura MVC es el módulo de enrutamiento de punto final (Endpoint Routing) introducido en 3.0. Es el Middleware Endpoint Routing el que decide invocar al controlador para una solicitud en particular.

3. Enrutamiento (Routing) basado en convenciones

4. Enrutamiento (Routing) de atributos en ASP.NET Core

En este artículo, aprenderás el enrutamiento de atributos en las aplicaciones ASP.NET Core. El enrutamiento es la forma en que ASP.NET Core hace coincidir una URL entrante con una acción de un controlador.

5. Restricciones de ruta

Las restricciones de ruta nos ayudan a filtrar o restringir los valores no deseados para que no lleguen a la acción del controlador. Lo hace comparando la Restricción con el valor del Parámetro de URL. Por ejemplo, requieres que el motor de enrutamiento coincida con una ruta en particular solo si se proporciona un valor entero para un parámetro de URL.

6. Selectores de acción y verbos de acción

En este artículo, aprenderás qué es el selector de acción y su función en la selección de los métodos de acción del controlador.

7. Resultados de acción (Action Results)

En este tutorial, veremos cómo crear una respuesta formateada a los métodos de Acción del controlador. ASP.NET Core proporciona varias API denominadas colectivamente como Action Results para generar la respuesta con el formato correcto, que pueden consumir los Clientes. Exploremos qué son los Action Results y cuáles son los diferentes tipos de Action Results que están disponibles para nosotros.

Vistas (Views)

1. Conceptos básicos de View

La vista o views es el componente del patrón de diseño (o arquitectura) de MVC, que es responsable de presentar la interfaz de usuario al usuario.

2. Razor View Engine y Razor Syntax

En este tutorial de Razor, realizaremos un recorrido rápido por Razor View Engine en ASP.NET Core MVC. Razor facilita la inserción del código C# dentro del HTML, lo que brinda la capacidad de generar la respuesta dinámica. En este tutorial, aprenderás la sintaxis de Razor.

3. Layouts y Sections

Los Layouts y las Sections en ASP.NET MVC core nos ayudan a mantener una apariencia uniforme en todas las páginas o vistas de nuestra aplicación. En este tutorial, aprenderás cómo crear una página de diseño, que se comparte entre las vistas. Usaremos Renderbody para renderizar la vista. También veremos cómo definir secciones y renderizarlas usando RenderSection. Finalmente, echaremos un vistazo a _viewstart para definir la página de diseño.

4. ViewBag y ViewData

Modelos (Models)

1. Conceptos básicos del modelo. Domain Model, ViewModel y Edit Model

En este artículo, daremos una breve introducción al Modelo en la aplicación ASP.NET Core MVC. El Modelo podría significar muchas cosas dependiendo de lo que estés tratando de hacer. En el contexto de las aplicaciones ASP.NET Core MVC, el modelo podría ser un modelo de dominio, un modelo de vista o un modelo de edición. Aprenderemos qué son y cómo y dónde usarlos

2. Pasar datos (ViewModel) del controlador a la vista

En este tutorial, aprenderás cómo pasar datos del controlador a la vista. Se deben crear ViewModel con todos los datos necesarios y pasarlos del controlador a la vista. Los ViewModel se pueden pasar a la vista creando una propiedad dinámica en ViewBag. Se puede pasar usando la propiedad del modelo de ViewData. La propiedad Model nos permite crear Vistas fuertemente tipadas usando la directiva @model. Vamos a ver todo esto en este tutorial.

Crear Formularios

1. Creación de formularios HTML

En este tutorial, crearemos un formulario de entrada de datos muy básico utilizando ASP.NET Core. Un formulario es un formulario HTML que permite a los visitantes ingresar la información en la página web. Construiremos un formulario simple, que aceptará los detalles del producto. Luego veremos cómo recibir los datos del formulario en nuestro servidor cuando el usuario presione el botón de enviar.

2. Vista fuertemente tipada

En el tutorial anterior, vimos cómo crear un formulario HTML simple. Hicimos uso de ViewModel pero no pasamos la instancia a la vista. El modelo de vista se puede pasar del controlador a la vista mediante Viewbag o Viewdata. ASP.NET Core ofrece la capacidad de pasar modelos u objetos fuertemente tipados a una vista. Este enfoque nos ayuda con la inteligencia y una mejor verificación en tiempo de compilación de nuestro código. El mecanismo de scaffolding en Visual Studio se puede usar para crear la Vista. Aprendamos todo esto en el artículo.

3. Ayudantes de etiquetas

Los asistentes de etiquetas son características nuevas en ASP.NET Core, que nos ayudan a agregar fácilmente el código del lado del servidor en nuestro marcado HTML. En este tutorial, los utilizaremos para actualizar el formulario HTML, que creamos en el tutorial anterior sobre la vista fuertemente tipada.

4. Tag Helpers

Input Tag Helper genera el elemento HTML <input> adecuado para la propiedad del modelo. La propiedad del modelo está vinculada mediante el atributo asp-for. El asistente de etiqueta de entrada genera el tipo de HTML, el nombre y el atributo de identificación apropiados en función del tipo de datos de la propiedad y las anotaciones de datos aplicadas al ViewModel. El ViewModel debe estar fuertemente tipado en la vista. También emite los atributos relacionados con la validación, lo que ayuda en la validación discreta del lado del cliente. Los atributos de formato ASP ayudan a generar los elementos de entrada con el formato correcto.

5. Label Tag Helper

La e Label Tag Helper genera el elemento HTML <label> apropiado para la propiedad del modelo de nuestro ViewModel. La propiedad del modelo está vinculada a la propiedad del modelo mediante el atributo asp-for. En este tutorial, aprenderemos cómo usar Label Tag Helper en detalle.

6. Form Tag Helper

Form Tag Helper genera el elemento HTML <form> basado en varios atributos como asp-controller, asp-action, etc. En este tutorial, veremos cómo usar Form Tag Helper en formularios ASP.NET Core.

7. Environment Tag Helpers

El Environment Tag Helpers admite la representación de contenido diferente según el conjunto de variables de entorno del núcleo de asp.net. En este tutorial, veremos este Tag Helper con más detalle.

8. Model Binding

En este artículo Model Binding en ASP.NET Core, aprenderemos cómo pasar datos de la vista al controlador. Aprendemos qué es Model binding y cómo funciona. El núcleo de ASP.NET nos permite vincular datos de varias fuentes de vinculación, como formularios HTML mediante [FromForm], valores de ruta mediante [FromRoute], cadena de consulta mediante [FromQuery], cuerpo de solicitud mediante [FromBody] y encabezado de solicitud mediante [FromHeader] . Veremos todo esto en este capítulo.

9. Validación del modelo

En este tutorial, observamos cómo funciona la validación del modelo principal de ASP.NET. A menudo, los datos introducidos por el usuario no son válidos y no se pueden guardar en la base de datos. Los datos ingresados pueden contener un error tipográfico o el usuario puede ingresar intencionalmente datos inapropiados. Por lo tanto, necesitamos validar la entrada del usuario antes de almacenarla en la base de datos. El ASP.NET Core nos brinda Model Validator, que utiliza los atributos de validación para validar el modelo, lo que facilita nuestra tarea. También echamos un vistazo a ModelState y cómo usarlo. Finalmente, miramos la lista de atributos de Validación.

10. Validation Tag Helpers

ASP.NET proporciona asistentes de etiquetas relacionados con la validación que muestran los mensajes de validación al usuario. Aprendiste cómo funciona la validación del modelo del lado del servidor en el tutorial anterior. El enlazador de modelos vincula y valida los datos recibidos a través de la solicitud HTTP. Luego crea el objeto ModelState, que contiene los mensajes de validación generados por Model Binder. Validation Tag Helpers genera el elemento HTML para mostrar mensajes en la vista en el caso de que existan errores.

11. Validación del lado del cliente

En este tutorial, aprenderás cómo realizar la validación del lado del cliente usando JavaScript. Aprendiste cómo realizar la validación del modelo del lado del servidor en el tutorial anterior. La validación discreta del lado del cliente en ASP.NET Cores usa la misma atribución de validación que usa Model Validator. Aprenderás todo esto en este tutorial.

Inyección de dependencia

1. Inyección de dependencia

Inyección de Dependencias es un patrón de diseño de software que nos permite desarrollar componentes acoplados libremente o desacoplados para obtener como resultado la fácil gestión de cambios a futuro, implementación fácil de pruebas unitarias, factoría para emitir instancias de clases, prevención de fugas de memoria, entre otros. En este tutorial, aprenderás los conceptos básicos de la inyección de dependencia mediante la creación de una aplicación sencilla.

2. Ciclo de vida de la inyección de dependencia (DI): Transient, Singleton y Scoped

Comprender la vida útil de los servicios creados con la inyección de dependencia es muy esencial antes de comenzar a usarlos. La creación de servicios sin comprender la diferencia entre la vida útil transitoria, única y de ámbito (Transient, Singleton y Scoped) puede dar lugar a que la aplicación se comporte de forma errática. Cuando un servicio solicita otro servicio a través de DI, es muy importante saber si recibe la nueva instancia o una instancia ya creada. Por lo tanto, especificar correctamente la vida útil al registrar el servicio es de suma importancia.

Configuración

La configuración de un sitio web ha pasado por muchos cambios en el nuevo ASP.NET Core. El ASP.NET anterior usaba la información de configuración del almacén de archivos en el Web.config. El nuevo sistema de configuración ahora proporciona API para cargar la configuración desde varias fuentes como Json, XML, INI, argumento de línea de comando, variables de entorno, etc. En este tutorial, veremos cómo almacenar y recuperar la configuración del archivo appsettings.json

  • Configuración básica de ASP.NET
  • Lectura de la configuración
  • Variables de ambientes
  • launchSettings.json
  • appSettings.json
  • ASPNETCORE_ENVIRONMENT

Autenticación

  • Autenticación en ASP.NET Core
  • Autenticación con cookies en ASP.NET Core
  • Introducción a ASP.NET Core Identity
  • Tutorial de ASP.NET Core Identity desde cero
  • Envío de confirmación por correo electrónico en ASP.NET Core
  • Agregar campos personalizados al usuario en ASP.NET Core Identity
  • Cambiar clave principal en ASP.NET Core Identity
  • Autenticación JWT en ASP.NET Core

Autorización

  • Introducción a la autorización
  • Autorización simple usando el atributo Authorize
  • Agregar y administrar Claims en ASP.NET Core Identity
  • Autorización basada en Claims en ASP.NET Core
  • Autorización basada en políticas
  • Autorización basada en recursos

Varios

  • AddController frente a AddMvc frente a AddControllersWithViews frente a AddRazorPages

 

Artículos de la serie:

Compartir artículo:

Más artículos geniales

Cómo implementar la autenticación de cookies en ASP.NET Core

Cómo implementar la autenticación de cookies en ASP.NET Core

En este artículo, aprenderás a implementar la autenticación de cookies en ASP.NET Core sin utilizar la identidad. Intentaré cubrir cada paso para que los principiantes puedan entenderlo fácilmente.

Ver artículo completo

Manténgase actualizado

Obtenga excelente contenido en su bandeja de entrada todas las semanas.
Solo contenido excelente, no compartimos su correo electrónico con terceros.
Subir al inicio de la pantalla