Curso Escuela FrontEnd
285 horas
Presencial / Virtual Class
Precio asistente: consultar
Precio de grupo: consultar
Requisitos: Conocimientos iniciales de Informática.
Dirigido a: Alumnos que tengan la necesidad de conocer las últimas tecnologías en la parte de Front End
Objetivos:
- Entender la estructura completa (full-stack) de una aplicación con tecnologías web.
- Analizar las ventajas e inconvenientes de todas las tecnologías disponibles y elegir la más adecuada en un proyecto.
- Conocer los lenguajes de descripción de la interfaz de usuario en la plataforma web.
- Adquirir un alto nivel de programación en JavaScript actual.
- Instalar, configurar y gestionar servidores y bases de datos.
- Utilizar frameworks modernos de desarrollo web en el cliente.
- Introducción al despliegue y referencias.
Programación Java(30h)
- Introducción a Java
- La Máquina Virtual Java
- Estructura general de un programa Java, compilación y ejecución
- Tipos de datos, palabras reservadas y estructuras de control de flujo
- Tipos primitivos
- Tipos referencia
- Operadores
- Flujos de control: if, switch
- Bucles: while, for, …
- Estructuras de almacenamiento
- Arrays
- Estructuras polimórficas
- Arrays multidimensionales
- Clases
- Conceptos de herencia, polimorfismo, sobrecarga
- Creación de clases
- Constructores
- Manejo de Excepciones y creación de excepciones de usuario
- Características avanzadas de clases
- Paquetes
- Clases abstractas
- Interfaces
- Clases parametrizadas
- Cadenas
- StringBuilder y StringBuffer
- Métodos String
- Formato de texto
- Expresiones regulares con Pattern y Matcher
- Documentación de proyectos
- Colecciones
- API de colecciones
- Map
- Comparable y Comparator interfaces
- Iterar colecciones
- Construcción básica de interfaces gráficos de usuario
- Introducción a Swing
- Componentes
- Contenedores
- Gestores de esquema
- Gestión de eventos
- Entrada/Salida estándar
- Entrada/Salida con NIO 2
- Interfaz Path
- Clase Files
- Directory y File
- Operaciones sobre el sistema de archivos
- Observación de los cambios en el sistema de archivos
- Programación concurrente (Threads)
- Concepto de Thread
- Creación de threads. MultiThreading
- Control de threads
- Sincronización
- wait / notify
- Programación en red TCP/IP
- Desarrollo de aplicaciones para red
- Uso de las clases ServerSockets y Sockets
- Desarrollo de un ejemplo práctico completo
Desarrollo de Aplicaciones Java EE(25h)
- Arquitectura de aplicaciones Java EE
- Arquitectura N-Capas
- Modelo o Dominio
- Patrones: MVC y DAO
- Herramientas de desarrollo disponibles
- Programación de componentes Web
- Características de desarrollo para entornos WEB
- Servlets
- Características de los Servlets
- Anotaciones y descriptores
- Otras características
- JSP
- Introducción a las Java Server Pages
- Como funcionan para la presentación
- JSTL, EL
- Oyentes y filtos
- Validación de Beans
- Context and Dependency Injection API (CDI)
- JSF
- Introducción al modelo Java Server Faces
- Uso de librerías JSF
- JSF Managed Beans
- Enterprise Java Beans
- Tipos de EJBs
- EJB lite
- Persistencia de Objetos con JPA
- Mapeos y Anotaciones
- Ciclo de vida de la persistencia
- Consultas con JPAQL
- Modelo Web Services
- Características de los Web Services
- JAXB, JSON-P y JSON-B
- Desarrollo de Web Services en Java con JAX-WS
- Desarrollo de Web Services en Java con JAX-RS
- Clientes Java EE
- Modelo de seguridad Java EE
- Seguridad capa web
- Seguridad capa negocio
- Java EE Security API
Introducción a FrontEnd (40h)
- POO, PROGRAMACIÓN FUNCIONAL Y PATRONES
- Repaso de fundamentos de programación. Programacióndeclarativa vs imperativa. Programación orientada a objetos, funcional, estructurada, orientada a eventos ; ventajas y aplicaciones de cada una.
- Cohesión y acoplamiento
- Principios SOLID y su importancia en el desarrollo del software
- Patrones de diseño: creacionales, estructurales y de comportamiento: bases y ejemplos
- FUNDAMENTOS DEL TESTING
- Objetivo de los test y la importancia de los test unitarios para refactorizar código en producción
- Cobertura de test vs calidad de test
- Test driven development
- Testing best practices: Given When Then (GWT) y Arrange Act Assert (AAA)
- GIT
- Introducción a GIT
- Estrategias de trabajo con GIT: trunk-based, GitFlow.
- Como hacer un merge: teoría y ejemplos
- Combinar commits con squash, borrar ramas tras merge, modificar mensaje de commit.
- Operaciones avanzadas (rebase, cherry pick, rollback de un commit, de varios, de una rama…)
Desarrollo Web (40 horas).
- Introducción.
- Qué son. Ventajas e inconvenientes (SSR vs CSR)
- Microservicios. Arquitectura Hexagonal
- Desarrollo web, híbrido, PWA, nativo. Ventajas/Inconvenientes de cada uno
- Entorno de trabajo. VSC, Lintters, Formatters, Local Server, Depuración
- HTML5, CSS3. Es importante cubrir grid y flex layouts, media querys y accesibilidad
- SASS y BEM
JavaScript y TypeScript ( 40 horas).
- Trabajando con Javascript
- Introducción a Javascript.
- Javascript orientado a objetos.
- Programación asíncrona y Promises.
- Organizando código en Javascript.
- Trabajando con Typescript
- Introducción a Typescript.
- Conceptos básicos
- Interfaces, clases y herencia.
- Decoradores y genéricos.
- Programación asíncrona y Promises.
- Modularización.
- Buenas prácticas y clean code.
Angular 12 (80 horas).
- INTRODUCCIÓN E INSTALACIÓN
- Estructura de un proyecto en angular, módulos y componentes
- Angular Cli
- Servidor Integrado
- CONCEPTOS ESENCIALES
- Data binding
- Pipes
- Pipes personalizados
- INTERACCIÓN ENTRE COMPONENTES
- Paso de parámetros entre componentes
- SERVICIOS
- Anatomía de un servicio
- Creación de servicios con Cli
- Inyección de dependencias
- Peticiones HTTPClient
- JSON y Servicios Rest
- ENRUTAMIENTO
- Instalación y configuración
- Outlet, Links, State, Events
- ParamMap
- FORMULARIOS
- Forms Module
- Bindings
- Validaciones
- Mensajes de error.
- OBSERVABLES
- Introducción a la programación reactiva
- RxJS
- Observables, Observers, operadores reactivos
- SEGURIDAD
- Guards
- FORMULARIOS REACTIVOS
- ReactiveFormsModule
- Bindings
- Validaciones
- Mensajes de error
- TESTING EN ANGULAR
- MULTIIDIOMA, CONFIGURACIÓN, etc.
Despliegue y Referencias (20 horas).
- DESPLIEGUE
- Infraestructura OnPremisse vs Cloud
- Docker y Kubernetes:
- Introducción a Docker.
- Gestión de imágenes y contenedores.
- Introducción a Docker Compose.
- Trabajando con Kubernetes.
- CI/CD
Fundamentos Cloud (10 horas).
- Un cambio de enfoque
- Qué es Cloud Computing
- Diferentes tipos de Cloud Computing
- Modelos básicos en la nube
- Componentes de la nube
- Hardware Cloud
- Virtualización
- Cloud storage
- Grid Computing
- Computing transaccional
- Software Cloud
- SaaS
- Disponibilidad On-Demand
- Pago por uso
- SOA y la nube
- Modelos de Nubes
- PaaS
- IaaS
- XaaS
- Nubes privadas
- Nubes públicas
- Nubes híbridas
- Seguridad, Auditoria y Cumplimiento en la Nube
- Puntos claves
- La seguridad en la nube
- Gest ión de identidades
- Disaster Recovery
- Escalar una infraestructura en la nube
- SLAs en la nube
- Aspectos legales
- Estándares nebulosos
- Plataformas varias
- Algunas ideas SaaS
- Principales propuestas de IaaS
- Ideas PaaS
- Casos prácticos
- Ofertas actuales
- Amazaon AWS
- Azure
- Google Cloud
- Oracle Cloud
- Desplegar un contenedor en la nube, como ejemplo al Cloud
Descarga este curso:
Catálogo 2023
Conoce nuestra oferta formativa para este año:
Solicítanos más información y/o como subvencionarte este curso con el siguiente formulario: