55340AC Developing ASP.NET Core Web Applications
nanforiberica
Descripción del curso
En este curso los desarrolladores web profesionales aprenderán a desarrollar aplicaciones ASP.NET Core avanzadas utilizando herramientas y tecnologías .NET. La atención se centrará en las actividades de codificación que mejoran el rendimiento y la escalabilidad de la aplicación del sitio web.
Perfil de público
Este curso está destinado a desarrolladores web profesionales que utilizan Microsoft Visual Studio en un entorno de desarrollo de tamaño pequeño a grande, individual o en equipo. Los candidatos para este curso están interesados en desarrollar aplicaciones web avanzadas y desean administrar el HTML renderizado de manera integral. Quieren crear sitios web que separen la interfaz de usuario, el acceso a los datos y la lógica de la aplicación. El desarrollo del lado del servidor utilizará el lenguaje C# y es un excelente curso de seguimiento de nuestro curso de Programación en C#. El desarrollo del lado del cliente hará uso de JavaScript, CSS y HTML5, para lo cual también hay un curso introductorio correspondiente.
Objetivos
- Comprenda la pila de tecnología web de Microsoft y elija qué tecnología emplear al crear una aplicación.
- Diseñe una aplicación web que cumpla con un conjunto de requisitos comerciales y funcionales.
- Cree un sitio web con ASP.NET Core Razor Pages.
- Utilice el middleware y la inyección de dependencias en las aplicaciones ASP.NET Core MVC.
- Use controladores en una aplicación MVC para administrar la interacción del usuario, los modelos y las vistas.
- Cree aplicaciones web que utilicen el enrutamiento de ASP.NET Core para proporcionar una jerarquía de navegación lógica.
- Cree vistas para mostrar y editar datos en una aplicación MVC.
- Construya modelos MVC que implementen lógica de negocios dentro de métodos, propiedades y eventos.
- Acceda a una base de datos desde una aplicación ASP.NET Core mediante Entity Framework Core.
- Diseñe y cree una apariencia coherente en una aplicación web.
- Use código JavaScript para implementar la lógica del lado del cliente para mejorar la capacidad de respuesta de una aplicación web ASP.NET.
- Use una cadena de herramientas de desarrollo para administrar paquetes del lado del cliente.
- Cree pruebas unitarias y use herramientas de depuración contra una aplicación web en Visual Studio.
- Utilice bibliotecas de autenticación y autorización para administrar la identidad y permitir que los usuarios accedan al contenido de forma segura.
- Diseñe aplicaciones web seguras que estén protegidas contra ataques comunes.
Mejore el rendimiento de las aplicaciones web implementando el almacenamiento en caché. - Habilite la comunicación asíncrona bidireccional entre el cliente y el servidor mediante SignalR.
- Agregue API web a una aplicación para admitir la comunicación entre aplicaciones.
Esquema del curso
Módulo 1: Exploración de ASP.NET Core
Las tecnologías web de Microsoft ASP.NET Core pueden ayudarlo a crear y hospedar aplicaciones web dinámicas, potentes y extensibles. ASP.NET Core es un marco multiplataforma de código abierto basado en .NET que le permite crear aplicaciones web. Puede desarrollar y ejecutar aplicaciones web ASP.NET Core en Windows, macOS, Linux o cualquier otra plataforma que lo admita. ASP.NET Core admite un ciclo de desarrollo ágil basado en pruebas. También le permite usar los últimos estándares HTML y marcos front-end como Angular, React y más.
Lecciones
- Introducción a las tecnologías web de Microsoft
- Primeros pasos con Razor Pages en ASP.NET Core
- Presentación de ASP.NET Core MVC
Laboratorio 1: Exploración de ASP.NET Core
- Explorando ASP.NET Core
- Comprender la variedad de tecnologías disponibles en la pila web de Microsoft.
- Describir los diferentes modelos de programación disponibles para desarrolladores en ASP.NET.
- Describir la función de ASP.NET Core en la pila de tecnologías web y cómo usar ASP.NET Core para crear aplicaciones web.
Módulo 2: Diseño de aplicaciones web ASP.NET Core MVC
Microsoft ASP.NET Core es un modelo de programación que puede usar para crear aplicaciones web potentes y complejas. Sin embargo, todos los proyectos de desarrollo complejos, y los proyectos grandes en particular, pueden ser desafiantes e intrincados para comprenderlos completamente. Sin una comprensión completa de los propósitos de un proyecto, no puede desarrollar una solución eficaz para el problema del cliente. Debe saber cómo identificar un conjunto de necesidades comerciales y luego tomar decisiones tecnológicas y planificar la aplicación web para satisfacer esas necesidades. La fase de planificación asegura a las partes interesadas que comprende sus requisitos y comunica la funcionalidad de la aplicación web, su interfaz de usuario, estructura y almacenamiento de datos a los desarrolladores.
Lecciones
- Metodologías de desarrollo
- Planificación en la Fase de Diseño del Proyecto
- Elegir entre Razor Pages y MVC
- Diseño de modelos, controladores y vistas
Laboratorio 1: Diseño de aplicaciones web ASP.NET Core MVC
- Diseño de aplicaciones web ASP.NET Core MVC
- Planifique la arquitectura general de una aplicación web ASP.NET Core MVC y considere aspectos como la administración del estado.
- Planifique los modelos, controladores y vistas que se requieren para implementar un conjunto determinado de requisitos funcionales.
Módulo 3: Uso de Razor Pages y Middleware
ASP.NET Core es un marco que nos permite construir muchos tipos de aplicaciones. En este módulo, primero veremos con más detalle ASP.NET Razor Pages, como una forma rápida de crear una aplicación web que no requiere la complejidad del modelo MVC. Luego, veremos el middleware, que tiene un significado particular en el contexto de la canalización de solicitudes de ASP.NET Core, y potencialmente permite que varias solicitudes independientes se manejen de una manera completamente diferente y reciban respuestas independientes. Aprenderá cómo aprovechar el marco ASP.NET Core para manejar solicitudes y respuestas a través de middleware personalizado y existente, y cómo configurar servicios para usar en middleware y en otras partes de la aplicación, como los controladores. También veremos los Servicios; clases que exponen la funcionalidad que luego puede usar en diferentes partes de la aplicación. Esto se logra sin tener que realizar un seguimiento del alcance manualmente en cada ubicación individual, o instanciar cualquier dependencia, mediante el uso de Inyección de dependencia. La inyección de dependencia es una técnica utilizada por ASP.NET Core que nos permite agregar dependencias al código sin tener que preocuparnos por crear instancias de objetos, mantenerlos en la memoria o pasar las dependencias requeridas.
Lecciones
- Uso de las páginas de Razor
- Configuración de software intermedio
- Configuración de servicios
Laboratorio 1: Uso de Razor Pages y Middleware
- Uso de Razor Pages y Middleware
- Cree una aplicación web sencilla con Razor Pages.
- Utilice el middleware existente para configurar una aplicación ASP.NET Core.
- Comprenda los principios básicos detrás de la inyección de dependencia y cómo se usa en ASP.NET Core.
Módulo 4: Desarrollando Controladores
ASP.NET Core MVC es un marco para crear aplicaciones web mediante el patrón arquitectónico Model-View-Controller (MVC). El controlador es esencialmente responsable de procesar una solicitud web al interactuar con el modelo y luego pasar los resultados a la vista. El modelo representa la capa empresarial y puede incluir objetos de datos, lógica de aplicación y reglas empresariales. La Vista usa los datos que recibe del controlador para producir el HTML u otra salida que se envía de regreso al navegador. En este módulo nos centraremos en el desarrollo de controladores, clases especializadas que son fundamentales para las aplicaciones MVC. Comprender cómo funcionan los controladores es fundamental para poder crear los objetos de modelo apropiados, manipularlos y pasarlos a las vistas adecuadas. Los controladores tienen varios métodos que se denominan "acciones". Cuando una aplicación MVC recibe una solicitud, encuentra qué controlador y qué acción debe manejar la solicitud. Lo determina mediante el enrutamiento del localizador uniforme de recursos (URL); otro concepto muy importante necesario para desarrollar aplicaciones MVC. También veremos cómo maximizar la reutilización de código en los controladores escribiendo filtros de acción.
Lecciones
- Escritura de controladores y acciones
- Configuración de rutas
- Escribir filtros de acción
Laboratorio 1: Desarrollando Controladores
- Controladores en desarrollo
- Agregue un controlador a una aplicación web que responda a las acciones del usuario que se especifican en el diseño del proyecto.
- Agregue rutas al motor de enrutamiento ASP.NET Core y asegúrese de que las URL sean fáciles de usar en una aplicación web MVC.
- Escriba código en filtros de acción que se ejecute antes o después de una acción del controlador.
Módulo 5: Desarrollo de vistas
Las vistas son uno de los tres componentes principales del modelo de programación Modelo-Vista-Controlador (MVC). Puede definir la interfaz de usuario para su aplicación web creando vistas; una combinación de marcado HTML y código C# que se ejecuta en un servidor web. Para crear una vista, debe saber cómo escribir el marcado HTML y el código C# y usar las diversas clases auxiliares integradas en MVC. También necesita saber cómo crear vistas parciales y ver componentes, que representan secciones de HTML que se pueden reutilizar en su aplicación web. También veremos con más detalle la sintaxis de marcado de Razor para incrustar código basado en .NET en páginas web.
Lecciones
- Creación de vistas con sintaxis de Razor
- Uso de HTML Helpers y Tag Helpers
- Reutilización de código en vistas
Laboratorio 1: Desarrollo de vistas
- Desarrollo de vistas
- Cree una vista de MVC y agréguele marcas de Razor para mostrar datos a los usuarios.
- Use asistentes HTML y asistentes de etiquetas en una vista.
- Reutilice el marcado de Razor en varias ubicaciones a lo largo de una aplicación.
Módulo 6: Desarrollo de modelos
La mayoría de las aplicaciones web interactúan con varios tipos de datos u objetos. Una aplicación de comercio electrónico, por ejemplo, administra productos, carritos de compras, clientes y pedidos. Una aplicación de red social puede ayudar a administrar usuarios, actualizaciones de estado, comentarios, fotos y videos. Un blog se utiliza para administrar entradas de blog, comentarios, categorías y etiquetas. Cuando escribe una aplicación web Model-View-Controller (MVC), crea un modelo MVC para modelar los datos para su aplicación web. Dentro de este modelo, crea una clase de modelo para cada tipo de objeto. La clase de modelo describe las propiedades de cada tipo de objeto y puede incluir lógica comercial que coincida con los procesos comerciales. Por lo tanto, el modelo es un bloque de construcción fundamental en una aplicación MVC. También veremos la validación de la entrada del usuario.
Lecciones
- Creación de modelos MVC
- Trabajar con formularios
- Validación de la entrada del usuario
Laboratorio 1: Desarrollo de modelos
- Desarrollo de modelos
- Agregue un modelo a una aplicación MVC y escriba código en él para implementar la lógica empresarial.
- Use mostrar y editar anotaciones de datos.
- Valide la entrada del usuario con anotaciones de datos.
Módulo 7: Uso de Entity Framework Core en ASP.NET Core
Las aplicaciones web a menudo requieren un almacén de datos para la información dinámica, por ejemplo, para crear una aplicación web que cambia continuamente en respuesta a las entradas del usuario, las acciones administrativas y los eventos de publicación. El almacén de datos suele ser una base de datos, pero también se utilizan otros tipos de almacenes de datos. En las aplicaciones Model-View-Controller (MVC), puede crear un modelo que implemente la lógica de acceso a datos y la lógica empresarial. Como alternativa, puede separar la lógica comercial de la lógica de acceso a datos mediante el uso de una clase de repositorio que un controlador puede usar para leer o escribir en un almacén de datos subyacente. Cuando escribe una aplicación ASP.NET, puede usar las tecnologías Entity Framework Core (EF Core) y Language Integrated Query (LINQ), que hacen que el código de acceso a datos sea muy rápido de escribir y fácil de entender. En este módulo,
Lecciones
- Introducción a Entity Framework Core
- Trabajar con Entity Framework Core
- Uso de proveedores de bases de datos principales de Entity Framework
Laboratorio 1: uso de Entity Framework Core en ASP.NET Core
- Uso de Entity Framework Core en ASP.NET Core
- Conecte una aplicación a una base de datos para acceder y almacenar datos.
- Explique EF Core.
- Trabajar con Entity Framework Core.
Módulo 8: Uso de diseños, CSS y JavaScript en ASP.NET Core
Al crear aplicaciones web, debe aplicar una apariencia uniforme a la aplicación. Por lo general, incluiría secciones de encabezado y pie de página coherentes y controles de navegación en todas las vistas. Microsoft ASP.NET Core usa plantillas especiales llamadas diseños para lograr esto, junto con hojas de estilo en cascada (CSS) para mejorar la apariencia y la facilidad de uso de su aplicación web. También puede crear elementos HTML interactivos utilizando JavaScript para proporcionar código del lado del cliente en su aplicación web, junto con bibliotecas de JavaScript del lado del cliente.
Lecciones
- Uso de diseños
- Usando CSS
- Usando JavaScript
Laboratorio 1: uso de diseños, CSS y JavaScript en ASP.NET Core
- Uso de diseños, CSS y JavaScript en ASP.NET Core
- Aplique un diseño coherente a las aplicaciones ASP.NET Core MVC.
- Agregue código JavaScript a su aplicación web.
- Utilice hojas de estilo CSS.
Módulo 9: Desarrollo del lado del cliente
Al crear una aplicación, es importante saber cómo desarrollar el código del lado del cliente y del lado del servidor para la aplicación. En este módulo, aprenderá herramientas del lado del cliente que le permitirán crear aplicaciones web complejas en cualquier escala, incluido el uso del marco Bootstrap CSS para diseñar su aplicación web. Aprenderá a usar Sass, un preprocesador de CSS que agrega funciones similares a código, como variables, reglas anidadas y funciones, que mejoran la capacidad de mantenimiento de hojas de estilo CSS complejas. Aprenderá principios de diseño receptivo que le permitirán adaptar su aplicación web en función de las capacidades del navegador web o dispositivo mediante consultas de medios CSS y cómo usar un sistema de cuadrícula receptivo. Próximo, aprenderá cómo configurar el ejecutor de tareas gulp y usarlo para compilar archivos Sass durante la compilación y realizar la agrupación y minificación de archivos CSS y JavaScript, y cómo configurar una tarea de vigilancia para compilar automáticamente archivos Sass a medida que escribe su código . Por último, presentaremos el marco Blazor para crear una interfaz de usuario web interactiva del lado del cliente con .NET.
Lecciones
- Diseño web adaptable
- Uso de herramientas de desarrollo front-end
- Mirando ASP.NET Core Blazor
Laboratorio 1: Desarrollo del lado del cliente
- Desarrollo del lado del cliente
- Utilice Bootstrap y SASS en una aplicación de Microsoft ASP.NET Core.
- Utilizar herramientas de desarrollo front-end.
- Asegúrese de que una aplicación web se muestre correctamente en dispositivos con diferentes tamaños de pantalla.
- Comprender las aplicaciones ASP.NET Core Blazor
Módulo 10: Pruebas y solución de problemas
El proceso de desarrollo de software inevitablemente da como resultado errores de codificación o fallas que resultan en excepciones, comportamiento inesperado o resultados incorrectos. Para mejorar la calidad de su aplicación web y proporcionar una buena experiencia de usuario, debe identificar errores de cualquier fuente y eliminarlos. En el desarrollo de software tradicional, los evaluadores realizan la mayor parte de las pruebas al final de un proyecto de desarrollo. Sin embargo, en los últimos años se ha aceptado ampliamente que las pruebas a lo largo del ciclo de vida del proyecto mejoran la calidad del código y reducen en gran medida la cantidad de errores en el software de producción. Debe comprender cómo ejecutar pruebas en componentes individuales para garantizar que funcionen como se espera antes de ensamblarlos en una aplicación web completa. También es importante que sepa cómo manejar las excepciones cuando ocurren y manejarlas correctamente para proporcionar comentarios de usuario adecuados, sin filtrar información sobre la estructura de la aplicación. Por último, al usar el registro en toda la aplicación, puede monitorear las actividades de los usuarios que podrían generar problemas inesperados y solucionar problemas de producción mediante el seguimiento de los flujos a través de la aplicación.
Lecciones
- Prueba de aplicaciones ASP.NET Core
- Implementación de una estrategia de manejo de excepciones
- Registro de aplicaciones ASP.NET Core
Laboratorio 1: Pruebas y solución de problemas
- Pruebas y resolución de problemas
- Ejecute pruebas unitarias para verificar el código y localizar errores potenciales.
- Cree una aplicación de Microsoft ASP.NET Core que proporcione un control de excepciones sólido.
- En el registro de aplicaciones para sus soluciones.
Módulo 11: Gestión de la seguridad
las aplicaciones normalmente se entregan a través de un navegador web, por medio de la Internet pública, a un gran número de usuarios. Esto significa que la seguridad siempre debe estar en primer plano al crear estas aplicaciones, ya que, además de los usuarios legítimos, la aplicación estará expuesta a terceros malintencionados. Los usuarios pueden tener acceso anónimo o pueden tener una identidad iniciada, y debe decidir qué usuarios pueden realizar qué acciones. La autenticación es el acto de establecer la identidad de un usuario, mientras que la autorización es el proceso en el que a un usuario ya autenticado se le otorga acceso a acciones o recursos específicos. Al utilizar la autorización, puede evitar que los usuarios accedan a material o información confidencial y recursos destinados a otro usuario o evitar que realicen ciertas acciones. Los costos de las brechas de seguridad pueden ser muy altos, lo que resulta en la pérdida de datos, acciones legales y daños a la reputación. Por lo tanto, en la sección final, veremos algunos ataques maliciosos específicos, como las secuencias de comandos entre sitios y la inyección de SQL, y cómo defenderse de ellos.
Lecciones
- Autenticación en ASP.NET Core
- Autorización en ASP.NET Core
- Defenderse de ataques comunes
Laboratorio 1: Gestión de la seguridad
- Administrar la seguridad
- autenticación básica a su aplicación.
- Configure la identidad central de Microsoft ASP.NET.
- Agregue autorización básica a su aplicación.
- Comprender cómo funcionan los exploits de seguridad y cómo defenderse mejor contra ellos
Módulo 12: Desempeño y Comunicación
Las aplicaciones web modernas deben poder responder rápidamente a un gran número de solicitudes de usuarios en un período de tiempo reducido. El almacenamiento en caché le permite almacenar solicitudes comunes, evitando la necesidad de realizar la misma lógica repetidamente. Esto proporciona al usuario un tiempo de respuesta rápido y reduce los recursos del sistema utilizados para llevar a cabo la lógica de la acción. Al utilizar varias formas de administración de estado, puede crear aplicaciones con estado sobre protocolos web sin estado, para dar respuestas adaptadas a los contextos de usuarios individuales dentro de la misma aplicación. Finalmente, SignalR es una API de comunicaciones bidireccional fácil de usar que es una abstracción de varios protocolos de comunicaciones web diferentes. Esto le permite crear lógica del lado del servidor para enviar contenido a aplicaciones web basadas en navegador en tiempo real.
Lecciones
- Implementación de una estrategia de almacenamiento en caché
- Estado administrador
- Apoyo a la comunicación bidireccional
Laboratorio 1: Desempeño y Comunicación
- Actuación y Comunicación
- Implemente el almacenamiento en caché en una aplicación de Microsoft ASP.NET Core.
- Utilice tecnologías de administración de estado para mejorar la experiencia del cliente, brindando una experiencia consistente para el usuario.
- Implemente la comunicación bidireccional mediante SignalR, lo que permite que el servidor notifique al cliente cuando ocurran eventos importantes.
Módulo 13: Implementación de API web
La mayoría de las aplicaciones web requieren integración con sistemas externos. Los servicios de transferencia de estado representacional (REST) ayudan a reducir la sobrecarga de aplicaciones y limitan los datos que se transmiten entre los sistemas cliente y servidor mediante estándares abiertos. Debe saber cómo exponer una API web que implementa servicios REST en su aplicación ASP.NET. También necesita saber cómo llamar a una API web mediante el uso de código del lado del servidor y del lado del cliente para consumir API web externas de estilo REST.
Lecciones
- Introducción a las API web
- Desarrollo de una API web
- Llamar a una API web
Laboratorio 1: Implementación de API web
- Implementación de API web
- Cree servicios mediante ASP.NET Core Web API.
- Llame a una API web desde el código del lado del servidor.
- Llame a una API web desde el código del lado del cliente.
Requisitos previos
- Experiencia con Microsoft Visual Studio y .NET.
- Comprender la programación en C# y conceptos como expresiones lambda, programación asíncrona y LINQ.
- Algo de experiencia en desarrollo web usando HTML, CSS y JavaScript.
Comprensión de formatos de datos comunes como JSON y XML.
Idioma
-
Curso: Inglés
-
Labs: Inglés