Las aplicaciones de tipo SPA (Single Page Application) son tendencia hoy en día a la hora de desarrollar sitios o aplicaciones web. Este tipo de webs se ejecutan en una sola página. Una vez ha sido cargada la página inicial, toda la navegación se realiza en esta misma evitando que el navegador realice nuevas cargas para servir el nuevo contenido del servidor, consiguiendo que la aplicación ofrezca una experiencia de usuario sencilla, fácil y dinámica en comparación a las webs de antigua generación.
En este contexto, nacen varios frameworks o librerías JavaScript capaces de dar soporte a la creación de un proyecto SPA y consultar contenido al servidor. Entre los más comunes, podemos encontrar Angular, React o Vue.
React o ReactJS es una librería de código abierto creada por Facebook para desarrollar interfaces de usuario mediante componentes. React nos ayuda a crear interfaces de usuario de forma sencilla.
En este curso conoceremos todas las funcionalidades de esta librería y crearemos una aplicación rica en componentes, apoyándonos de las mejores librerías de componentes de terceros como puedan ser DevExtreme o MUI, usando Javascript y Typescript. Apoyándonos de aplicaciones de tipo servidor desarrolladas en tecnologías .NET o JavaScript (Express JS).
Objetivos
- Descubrir el entorno de programación JS fuera del navegador: NodeJS, y Npm como gestor de paquetes. Introducción al lenguaje de programación Typescript.
- Crear una primera aplicación SPA través del CLI de React.
- Extender la aplicación con la creación de componentes, conocer el ciclo de vida de los mismos, trabajar con sus propiedades, eventos y comunicación entre ellos.
- Conocer los mecanismos de estado en los componentes y entre componentes.
- Ejecutar una aplicación de tipo de servidor (Servicio API Rest bajo ExpressJS y Servicio .NET 6) e implementar la comunicación entre nuestro SPA y el API.
- Enriquecer nuestra aplicación con el uso de librerías de componentes de interfaz de usuario, Devextreme, Fluent UI, MIU, etc.
- Implementar un CRUD completo.
- Introducción a un Framework React para producción: Next.js
- Introducción al testing de componentes con Jest y Cypress.
Audiencia
Desarrolladores, gestores de proyectos y perfiles técnicos UX/UI.
Prerrequisitos
Conocimientos básicos de programación en entornos web (JavaScript, HTML 5, CSS).
- Introducción a React y conceptos generales
- ¿Qué es React y por qué usar React?
- ¿Qué es un componente y cómo funciona en React?
- Stack tecnológico en el uso e instalación de React
- Estructura de un proyecto de React
- ¿Qué es Typescript?
- Introducción al IDE Visual Studio
- Conceptos principales en React
- Nuestra primera aplicación en React: Hola Mundo.
- Presentando JSX
- Renderizado de elementos
- Componentes y propiedades
- Fragmentos
- Estado y ciclo de vida
- Manejo de eventos
- Renderizado condicional
- Listas y keys
- Formularios
- Composición VS Herencia
- HOC
- Profundizando en React
- Hooks
- División de código: Router
- Límites de error
- React i18n
- Ajax y APIs
- Estilos y CSS
- Comunicación entre componentes, Context y Redux
- Ejemplo completo CRUD consumiendo servicios Rest, usando la librería Axios.
- Introducción a DevExtreme y MUI
- Implementar un CRUD con DevExtreme consumiendo API Rest con ExpressJs y un API Rest desarrollada en .NET 6
- Testing:
- Pruebas de integración con JEST + ReactTestingLibrary
- Pruebas END to END con Cypress
- Crear una app con el framework Next JS
- Conceptos avanzados
- Desplegar app producción.
- Variables y configuración de entorno.