ESCFS01ILTDesarrollo de Software
ESCUELA FULLSTACK DEVELOPER
240 Presencial-Remoto €0.00
Descripción
___
Objetivos
Al finalizar esta formación estarás capacitado para realizar las funciones propias del Full Stack Developery serás capaz de trabajar tanto en el Frontend como en el Backend de un proyecto.
Audiencia
Curso dirigido a Programadores y Analistas web.
Prerrequisitos
Se recomienda tener conocimientos básicos de programación JAVA y POO.
Temario
**FRONTEND**
**1.- TECNOLOGÍAS WEB FRONT-END**
Introducción
o Evolución
o Tecnologías implicadas
o Arquitectura
Herramientas de Desarrollo
o Instalación de utilidades
o Visual Studio Code
o Extensions: Local Server. Linting y Formatting
o Control de versiones
HTML 5
o Introducción
o Estructura
o Cuerpo del Documento
o Formularios
o Ampliaciones en HTML5
CSS 3
o Introducción
o Sintaxis
o Selectores
o Pseudoclases o Pseudoelementos
o Declaraciones
o Reglas especiales
o Prioridad
o Propiedades de estilo
o Ampliaciones en CSS3
SASS
o Sintaxis, Comentarios, Expresiones
o Variables, Interpolación, Alcance
o Importaciones y Módulos
o Reglas, anidamiento, selectores
o Reglas de control de flujo
o Mixin/Include, extend, function
o Depuración
BEM
o Introducción
o Características
o Bloques, Elementos, Modificadores
o Nomenclaturas
Diseño Web Adaptativo
o Introducción
o Ventajas
o Resolución, Definición, Orientación
o Recomendaciones de Diseño
o Mobile First
o Viewport, Flex Layout y Consultas de medios
o Frameworks: Bootstrap, Material Design
Accesibilidad Web
o Accesibilidad: Definiciones, Limitaciones y problemas de accesibilidad
o Ayudas técnicas
o Legislación
o Beneficios
o Web Accessibility Initiative (WAI)
o Accessible Rich Internet Applications (WAI-ARIA)
JavaScript (ES6)
o Introducción
o Tipos, variables y expresiones
o Instrucciones de Control
o Funciones
o Objetos y Clases
o Modularidad
o Standard Built-in ECMAScript Objects
o Detección y corrección de errores
o Nuevas versiones EcmaScript
TypeScript
o Sistema de tipos
o Sintaxis ampliada
o Clases, herencia, genéricos e interfaces
o Módulos y decoradores
Document Object Model (DOM) y JavaScript
o Modelo de objetos de documento HTML
o Sintaxis de JavaScript
o Gestión de eventos
o JavaScript no intrusivo
o Creación de dinámica
o Browser Object Model (BOM)
AJAX
o Acceso al servidor
o Servicios RESTful
o XMLHttpRequest
o Promesas y API Fetch
o jQuery AJAX
**2.- ANGULAR 12**
Introducción a Angular 2+
o Características
o Angulas JS vs Angular 2+
o Arquitectura
o Elementos estructurales
o Model View ViewModel (MVVM)
Herramientas de Desarrollo
o Instalación de utilidades
o Creación de una aplicación
o Estructura de la aplicación
o Librerías de terceros
Módulos
o Metadata
o Módulo principal
o Módulos de características
o Módulos Angular 2 vs JavaScript
Servicios
o Clases como servicios
o Dependency injection
o Proveedores
o Inyectores
Componentes
o Plantillas y estilos
o Propiedades de entrada
o Eventos de salida
o Ciclo de vida
Estilos
o Selectores especiales
o Encapsulación
o Preprocesadores CSS
Plantillas
o Data binding
o Marcadores
o Directivas
o Transformaciones (Pipes)
Formularios
o Vinculación bidireccional
o Validaciones
o Estilos visuales
Creación de directivas
o Directivas atributo
o Validaciones personalizadas
o Directivas estructurales
RxJS (Reactive Programming)
o Programación Reactiva
o Patrón Observable
o Patrón Promise
o Creación de Observables y observadores
Acceso al servidor
o Patrón Observable (RxJS).
o HttpModule y JsonpModule
o Servicios RESTFul
o Seguridad
Enrutamiento y navegación
o RouterModule
o Definición de rutas
o Paso de parámetros
o Navegación
Testing
o Utilidades
o Técnicas de pruebas y TDD
o Test unitarios: Jasmine
o Test E2E: Cypress
UI Avanzado
o Animaciones
o Responsive Web Design
o Angular UI Bootstrap
o Material Design
o Otros Módulos
Conceptos avanzados
o Arquitectura avanzada y mejores practicas
o Ciclo de vida y detección de cambios
o Optimización y rendimiento
o Internacionalización (I18N)
o Publicación de módulos con NPM
o Migración desde AngularJS a Angular
o Módulo ngUpgrade: Aplicaciones hibridas AngularJS y Angular 2+
**BACKEND**
**MICROSERVICIOS CON SPRINGBOOT**
Arquitectura de Microservicios
o Definiciones y Antecedentes
o Arquitectura Monolítica vs Arquitectura Microservicios
o Características, ventajas y desventajas
o Buenas prácticas
o Implantación y Despliegue
Spring con Spring Boot
IoC con Spring Core
Clean Architecture
o Principios SOLID
o Antecedentes: Hexagonal Architecture y Onion Architecture
o Principios y Características de una arquitectura limpia
o Patrón arquitectónico MVC
o Patrón arquitectónico MVVM
o Arquitectura N-Capas con Orientación a Dominio (DDD)
o Patrones de Inversión de Control e Inyección de Dependencias
o Test Driven Development (TDD)
o Refactorización
Gestión de datos
o Patrón: Base de datos por servicio
o Spring Data
o MongoDB
o Redis
o Patrón: Saga
o Patrón: API de Composición
o Patrón: CQRS
o Patrón: Event sourcing
o Patrón: Eventos de aplicación
Estilos de comunicación
o Patrón: Invocación a procedimiento remoto (RPI)
o Spring Web MVC vs Spring WebFlux
o Servicios REST
o Spring HATEOAS
o Spring Data Rest
o Patrón: Mensajería
o RabbitMQ con Spring AMQP
o Anotación del servicio
o Enfoque API First
Pruebas
o Automatización de pruebas
o JUnit, DBUnit y Spring Boot Test
o SoapUI, Postman y JMeter
Documentar Servicios REST
o Anotación del modelo
o OpenAPI (Swagger)
o Swagger Editor, Swagger UI, Swagger Codegen
Registro/Descubrimiento
o Patrón: Registro de servicios
o Patrón: Auto registro
o Patrón: Registro de terceros
o Eureka
o Patrón: Descubrimiento del lado del cliente
o Spring Cloud LoadBalancer
o RestTemplate, WebClient y Feign
o Patrón: API Gateway
o Spring Cloud Gateway
Seguridad
o Spring Cloud Config
o CORS
o Spring Security
o Patrón: token de acceso
o JWT: JSON Web Tokens
Monitorización y Resiliencia
o Patrones de Observabilidad
o Patrón: Health Check API
o Spring Boot 2.x Actuator
o Spring Boot Admin
o Micrometer, Prometheus, Grafana
o Patrón: Circuit Breaker
o Spring Cloud Circuit Breaker con Resilience4j
o Patrón: Distributed tracing
o Spring Cloud Sleuth y Zipkin
o Patrón: Log aggregation
o ELK: Elasticsearch , Logstash y Kibana
Despliegue
o Patrones de despliegue
o Docker
o Kubernetes
o Patrón: Sidecar
o Service Mesh: Istio
**1.- TECNOLOGÍAS WEB FRONT-END**
Introducción
o Evolución
o Tecnologías implicadas
o Arquitectura
Herramientas de Desarrollo
o Instalación de utilidades
o Visual Studio Code
o Extensions: Local Server. Linting y Formatting
o Control de versiones
HTML 5
o Introducción
o Estructura
o Cuerpo del Documento
o Formularios
o Ampliaciones en HTML5
CSS 3
o Introducción
o Sintaxis
o Selectores
o Pseudoclases o Pseudoelementos
o Declaraciones
o Reglas especiales
o Prioridad
o Propiedades de estilo
o Ampliaciones en CSS3
SASS
o Sintaxis, Comentarios, Expresiones
o Variables, Interpolación, Alcance
o Importaciones y Módulos
o Reglas, anidamiento, selectores
o Reglas de control de flujo
o Mixin/Include, extend, function
o Depuración
BEM
o Introducción
o Características
o Bloques, Elementos, Modificadores
o Nomenclaturas
Diseño Web Adaptativo
o Introducción
o Ventajas
o Resolución, Definición, Orientación
o Recomendaciones de Diseño
o Mobile First
o Viewport, Flex Layout y Consultas de medios
o Frameworks: Bootstrap, Material Design
Accesibilidad Web
o Accesibilidad: Definiciones, Limitaciones y problemas de accesibilidad
o Ayudas técnicas
o Legislación
o Beneficios
o Web Accessibility Initiative (WAI)
o Accessible Rich Internet Applications (WAI-ARIA)
JavaScript (ES6)
o Introducción
o Tipos, variables y expresiones
o Instrucciones de Control
o Funciones
o Objetos y Clases
o Modularidad
o Standard Built-in ECMAScript Objects
o Detección y corrección de errores
o Nuevas versiones EcmaScript
TypeScript
o Sistema de tipos
o Sintaxis ampliada
o Clases, herencia, genéricos e interfaces
o Módulos y decoradores
Document Object Model (DOM) y JavaScript
o Modelo de objetos de documento HTML
o Sintaxis de JavaScript
o Gestión de eventos
o JavaScript no intrusivo
o Creación de dinámica
o Browser Object Model (BOM)
AJAX
o Acceso al servidor
o Servicios RESTful
o XMLHttpRequest
o Promesas y API Fetch
o jQuery AJAX
**2.- ANGULAR 12**
Introducción a Angular 2+
o Características
o Angulas JS vs Angular 2+
o Arquitectura
o Elementos estructurales
o Model View ViewModel (MVVM)
Herramientas de Desarrollo
o Instalación de utilidades
o Creación de una aplicación
o Estructura de la aplicación
o Librerías de terceros
Módulos
o Metadata
o Módulo principal
o Módulos de características
o Módulos Angular 2 vs JavaScript
Servicios
o Clases como servicios
o Dependency injection
o Proveedores
o Inyectores
Componentes
o Plantillas y estilos
o Propiedades de entrada
o Eventos de salida
o Ciclo de vida
Estilos
o Selectores especiales
o Encapsulación
o Preprocesadores CSS
Plantillas
o Data binding
o Marcadores
o Directivas
o Transformaciones (Pipes)
Formularios
o Vinculación bidireccional
o Validaciones
o Estilos visuales
Creación de directivas
o Directivas atributo
o Validaciones personalizadas
o Directivas estructurales
RxJS (Reactive Programming)
o Programación Reactiva
o Patrón Observable
o Patrón Promise
o Creación de Observables y observadores
Acceso al servidor
o Patrón Observable (RxJS).
o HttpModule y JsonpModule
o Servicios RESTFul
o Seguridad
Enrutamiento y navegación
o RouterModule
o Definición de rutas
o Paso de parámetros
o Navegación
Testing
o Utilidades
o Técnicas de pruebas y TDD
o Test unitarios: Jasmine
o Test E2E: Cypress
UI Avanzado
o Animaciones
o Responsive Web Design
o Angular UI Bootstrap
o Material Design
o Otros Módulos
Conceptos avanzados
o Arquitectura avanzada y mejores practicas
o Ciclo de vida y detección de cambios
o Optimización y rendimiento
o Internacionalización (I18N)
o Publicación de módulos con NPM
o Migración desde AngularJS a Angular
o Módulo ngUpgrade: Aplicaciones hibridas AngularJS y Angular 2+
**BACKEND**
**MICROSERVICIOS CON SPRINGBOOT**
Arquitectura de Microservicios
o Definiciones y Antecedentes
o Arquitectura Monolítica vs Arquitectura Microservicios
o Características, ventajas y desventajas
o Buenas prácticas
o Implantación y Despliegue
Spring con Spring Boot
IoC con Spring Core
Clean Architecture
o Principios SOLID
o Antecedentes: Hexagonal Architecture y Onion Architecture
o Principios y Características de una arquitectura limpia
o Patrón arquitectónico MVC
o Patrón arquitectónico MVVM
o Arquitectura N-Capas con Orientación a Dominio (DDD)
o Patrones de Inversión de Control e Inyección de Dependencias
o Test Driven Development (TDD)
o Refactorización
Gestión de datos
o Patrón: Base de datos por servicio
o Spring Data
o MongoDB
o Redis
o Patrón: Saga
o Patrón: API de Composición
o Patrón: CQRS
o Patrón: Event sourcing
o Patrón: Eventos de aplicación
Estilos de comunicación
o Patrón: Invocación a procedimiento remoto (RPI)
o Spring Web MVC vs Spring WebFlux
o Servicios REST
o Spring HATEOAS
o Spring Data Rest
o Patrón: Mensajería
o RabbitMQ con Spring AMQP
o Anotación del servicio
o Enfoque API First
Pruebas
o Automatización de pruebas
o JUnit, DBUnit y Spring Boot Test
o SoapUI, Postman y JMeter
Documentar Servicios REST
o Anotación del modelo
o OpenAPI (Swagger)
o Swagger Editor, Swagger UI, Swagger Codegen
Registro/Descubrimiento
o Patrón: Registro de servicios
o Patrón: Auto registro
o Patrón: Registro de terceros
o Eureka
o Patrón: Descubrimiento del lado del cliente
o Spring Cloud LoadBalancer
o RestTemplate, WebClient y Feign
o Patrón: API Gateway
o Spring Cloud Gateway
Seguridad
o Spring Cloud Config
o CORS
o Spring Security
o Patrón: token de acceso
o JWT: JSON Web Tokens
Monitorización y Resiliencia
o Patrones de Observabilidad
o Patrón: Health Check API
o Spring Boot 2.x Actuator
o Spring Boot Admin
o Micrometer, Prometheus, Grafana
o Patrón: Circuit Breaker
o Spring Cloud Circuit Breaker con Resilience4j
o Patrón: Distributed tracing
o Spring Cloud Sleuth y Zipkin
o Patrón: Log aggregation
o ELK: Elasticsearch , Logstash y Kibana
Despliegue
o Patrones de despliegue
o Docker
o Kubernetes
o Patrón: Sidecar
o Service Mesh: Istio