Curso Arquitectura Frontend Avanzada

Desarrollo de aplicaciones con una arquitectura frontend avanzada para aplicaciones modernas IA-Ready
En marcha
Avanzado
19 Clases 9 h (aprox.)
99€
75€
Precio en promoción

Próxima entrega

Miércoles 11 de febrero

Vídeo on-demand: "Error handling"

El desarrollo frontend en su fase más avanzada ya no consiste sólo en escribir buen JavaScript o en elegir el framework adecuado. Hoy las aplicaciones frontend manejan lógica compleja, múltiples flujos de estado, renderizado en servidor, integraciones externas y colaboración creciente con herramientas de IA. En este contexto, resulta imprescindible dominar técnicas avanzadas que permitan desacoplar la lógica, controlar el flujo de ejecución y garantizar arquitecturas robustas a lo largo de todo el ciclo de vida del proyecto.

En el curso de Arquitectura Frontend Avanzada continuamos la materia expuesta en el Curso de Arquitectura Frontend, a modo de fase II, orientada a profundizar en estas necesidades actuales. Su objetivo es ayudarte a evolucionar tus proyectos hacia arquitecturas Frontend AI-Ready mediante Dependency Injection avanzada, middlewares complejos, gestión de errores y estado, soporte para SSR y convenciones claras legibles por agentes. 

Se trata de trabajar con sistemas de diseño y herramientas modernas pensadas tanto para humanos como para IA, con el fin de construir aplicaciones altamente mantenibles, escalables y preparadas para el futuro del desarrollo frontend.

Qué aprenderé en el Curso Arquitectura Frontend Avanzada

  • Aplicar Dependency Injection avanzada para desacoplar completamente la lógica de aplicación de sus implementaciones concretas.
  • Diseñar y componer middlewares avanzados para gestionar errores, estados, confirmaciones y flujos complejos de ejecución.
  • Implementar estrategias sólidas de error handling, state handling y soporte para SSR en arquitecturas frontend.
  • Preparar proyectos Frontend AI-Ready mediante convenciones claras y legibles por agentes, documentadas en guidelines.md.

Objetivos del curso

En este curso el estudiante aprenderá a expandir la arquitectura planteada en la fase I del curso para llegar a soluciones más avanzadas y modulares para proyectos frontend, prestando especial atención a aspectos como:

  • Gestión de errores
  • Middlewares avanzados
  • Uso de la IA en arquitectura frontend
  • SSR y gestión de estado

Por qué debes aprender Arquitectura Frontend Avanzada

Esta es una segunda fase del Curso de Arquitectura Frontend. Podemos considerarla una etapa avanzada de la arquitectura, orientada a resolver problemas de las aplicaciones modernas y aplicación de técnicas para aprovechar de una manera sólida la IA.

Para la fase II nos centramos en dotarte de las técnicas avanzadas necesarias para afrontar el frontend actual... y el que viene. Aprenderás a diseñar arquitecturas frontend preparadas para alta complejidad mediante Dependency Injection avanzada, middlewares compuestos, gestión robusta de errores y estado, y soporte para SSR.

Esta fase pone el foco en construir proyectos Frontend AI-Ready, definiendo convenciones claras y legibles por agentes, integrando herramientas modernas y sistemas de diseño pensados tanto para humanos como para IA. El objetivo es que seas capaz de crear aplicaciones donde la lógica este completamente desacoplada, sea válida para ejecución automatizada por agentes, a la vez que se fomenta la mantenibilidad a un alto nivel y la escalabilidad a largo plazo.

Qué tengo que saber

Lo ideal es comenzar la formación tomando antes el Curso de Arquitectura Frontend. Además, tener en cuenta estos otros requisitos:

  • Conocimientos intermedios de JavaScript y TypeScript
  • Experiencia básica en al menos un framework (React, Angular o Vue)
  • Familiaridad con Node.js y el uso de npm
  • Manejo de Git y flujos de ramas básicos
  • Nociones introductorias de pruebas unitarias (recomendable)

Clases y contenidos

Presentación del Curso de Arquitectura Frontend Avanzada

Introducción y declaración de intenciones del curso de Arquitectura Frontend Avanzada.

Detalle de los bloques del curso

En este vídeo vamos a ver los distintos bloques que tendrá el curso con un detalle más completo de las intenciones y objetivos.

Inversión de control e inyección de dependencias

Comenzaremos por abrir el proyecto del curso, Celestia, el planificador de viajes espaciales. Luego vamos a repasar los conceptos de Inyección de dependencias e Inversión de control. Explicaremos qué nos aportan estos principios y técnicas de diseño de software.

Librerías de inyección de dependencias

Librerías populares que implementan la inyección de dependencias en Javascript / TypeScript.

Cómo implementar un contenedor de dependencias

Para lo que nosotros necesitamos en nuestra aplicación podemos usar un contenedor de dependencias más sencillo, que podemos implementar desde cero mediante nuestro propio código. Veremos en este vídeo cómo hacerlo.

Cómo usar el contenedor de dependencias

Ahora veremos cómo usar nuestro contenedor de dependencias y cómo actualizar la aplicación para basarnos en él.

Dependency Injection avanzado II

Todavía podemos mejorar la aplicación de inyección de dependencias para hacer aplicaciones más versátiles y testeables.

Tokens de inyección

Cómo mejorar el contenedor de dependencias y el tipado para mejorar la aplicación de nuestro patrón de inyección de dependencias.

Avances en el sistema de casos de uso sus options

En esta clase vamos a avanzar todavía más en la mejora del sistema de creación y uso de casos de uso. Además vamos a ver una nueva mejora con el use case options que nos permitirá aplicar el uso de middlewares avanzados.

Avances en el use-use-case

Esta pieza nos permite usar los casos de uso abstrayéndose de la complejidad que hay detrás, el contenedor de dependencias y otras cosas.

Wrapper para casos de uso

Cómo mejorar la aplicación de casos de uso mediante un wrapper que básicamente lo realizaremos mediante un hook de React que nos permite abstraernos de tener que usar el getInstance del contenedor de dependencias y ejecutar el caso de uso. Es una pieza fina porque nos permite integrar el servicio de casos de uso con el código de negocio y que nos permitirá mejorar la arquitectura sensiblemente y dar pie a integrar de manera sencilla funcionalidades recurrrentes en el futuro.

Configuración y reutilización del sistema de use cases

Personalizaciones y reutilización. Mediante currificación podemos pasarle el contenedor para conseguir adaptar el sistema de casos de uso a cualquier tipo de aplicación. Además distinguimos entre core y shared-core para poder reutilizar partes de nuestra aplicación en otros proyectos.

Cómo usar los nuevos casos de uso

Completamos el wrapper para los casos de uso con una nueva pieza "use-use-case" que nos permite usar los casos de uso de una manera más sencilla, robusta y testable.

Use case options

Cómo puedo mandar objetos complejos de configuración de los casos de uso mediante una nueva pieza que vamos a llamar use case options y que nos dará pie a una completa versatilidad en nuestros middlewares.

Middlewares avanzados

Vamos a sacar partido a los avances en nuestro sistema de casos de uso aplicando middlewares avanzados que nos permitan dotar de funcionalidades comunes en la aplicación de una manera extremadamente limpia.

Middleware para presentar mensajes de éxito

En este vídeo vamos a realizar un middleware que permite reaccionar de una manera inmediata ante condiciones de success, mostrando en un toast un mensaje personalizado al usuario.

Aplicando el event emitter

Vamos a desacoplar el middleware de success de los componentes de interfaz gráfica que usa mediante la aplicación de un event emitter.

Middleware de confirmación

Otro caso frecuente en las aplicaciones es la necesidad de mostrar mensajes de confirmación al usuario, por ejemplo antes de producirse una acción destructiva. Mediante un middleware podemos conseguir de una manera inmediata y extremadamente limpia que las acciones se puedan condicionar a la aceptación previa en un cuadro de diálogo emergente.

Gestión de errores

Vamos a ver cómo gestionar los errores de una manera centralizada, consistente y amistosa para el usuario, asociada a los casos de uso para evitar duplicar código.

Error handling

Cómo gestionar errores de manera práctica, eficiente y centralizada, lo que mejorará el flujo de nuestra aplicación.

Añadir a Google Calendar
State handling y SSR

Vamos a abordar dos temas recurrentes en las aplicaciones frontend modernas: State handling y SSR

Añadir a Google Calendar
Frontend AI-Ready

En esta clase vamos a ver cómo aprovechar la IA de una manera inteligente, creando aplicaciones "Frontend AI-Ready".

Añadir a Google Calendar
Repaso Arquitectura Frontend

Acabamos el curso con unas conclusiones que nos ayudarán a entender mejor todo el material expuesto a lo largo de las clases.

Añadir a Google Calendar
¿Conoces nuestra tarifa plana?

Toda la formación de EscuelaIT, con más de 200 cursos completos para aprender las más variadas tecnologías de programación, diseño y marketing online. Todo! con tu suscripción.

Suscríbete