JavaScript – Advanced level
P-JS0012
P-JS0012 se adentra en temas avanzados de JavaScript, que a menudo incluyen:
- Patrones de diseño avanzados: Se exploran patrones como el patrón módulo, el patrón observador, el patrón mediador, el patrón fábrica, entre otros, y se analiza cuándo y cómo aplicarlos para resolver problemas de diseño complejos.
- Arquitectura de aplicaciones web: Se discuten diferentes arquitecturas como MVC (Modelo-Vista-Controlador), MVVM (Modelo-Vista-ViewModel) y arquitecturas basadas en componentes, y se analiza cómo implementarlas con JavaScript.
- Optimización del rendimiento: Se cubren técnicas para mejorar el rendimiento de las aplicaciones JavaScript, incluyendo la optimización del tiempo de carga, la gestión de la memoria, la optimización del código y el uso de herramientas de profiling.
- Testing avanzado: Se profundiza en las pruebas unitarias, las pruebas de integración y las pruebas end-to-end, utilizando frameworks de testing como Jest, Mocha, Cypress o similares.
- JavaScript en el servidor (Node.js avanzado): Se pueden tratar temas como la creación de APIs RESTful robustas, la gestión de bases de datos, la autenticación y autorización, y el despliegue de aplicaciones Node.js.
- Tipos con TypeScript (posiblemente): Se puede introducir TypeScript como una forma de añadir tipado estático a JavaScript y mejorar la mantenibilidad del código.
- Conceptos avanzados del lenguaje: Se exploran temas como closures, prototipos en profundidad, el funcionamiento interno del motor de JavaScript, Web Workers, Service Workers y otros temas relevantes.
El curso se enfoca en la aplicación práctica de estos conceptos a través de ejercicios, talleres y proyectos, permitiendo a los participantes consolidar sus conocimientos y adquirir experiencia en el desarrollo de aplicaciones web complejas.
Duración
40hrs
Nivel
Avanzado
Objetivos
Al finalizar el curso, los participantes serán capaces de:
- Aplicar patrones de diseño avanzados en JavaScript: Utilizar patrones de diseño para escribir código más organizado, reutilizable y mantenible.
- Diseñar y arquitecturar aplicaciones web complejas: Elegir la arquitectura adecuada para un proyecto y aplicarla de manera efectiva.
- Optimizar el rendimiento de las aplicaciones JavaScript: Identificar cuellos de botella y aplicar técnicas para mejorar el rendimiento.
- Implementar estrategias de testing avanzadas: Asegurar la calidad del código mediante pruebas exhaustivas.
- Desarrollar aplicaciones back-end con Node.js (si se incluye en el temario): Crear APIs RESTful y gestionar bases de datos.
- Utilizar TypeScript para mejorar el desarrollo (si se incluye en el temario): Aplicar tipado estático para prevenir errores y mejorar la mantenibilidad.
- Comprender el funcionamiento interno de JavaScript: Tener un conocimiento profundo del motor de JavaScript y sus características.
- Resolver problemas complejos de desarrollo web con JavaScript: Abordar desafíos técnicos y encontrar soluciones eficientes.
Prerrequisitos
Este curso no es para principiantes. Se asume que los participantes tienen un sólido dominio de:
- JavaScript Intermedio/Avanzado: Conocimiento profundo de la sintaxis, el DOM, los eventos, las funciones, los objetos y el asincronismo. Haber completado un curso como P-JS0011 o tener una experiencia equivalente es fundamental.
- HTML y CSS: Conocimientos sólidos para estructurar y dar estilo a las páginas web.
- Conocimientos básicos de la línea de comandos/terminal: Para utilizar gestores de paquetes y herramientas de construcción.
- Familiaridad con conceptos básicos de desarrollo web: Entender cómo funciona el protocolo HTTP y la arquitectura cliente-servidor.
- Experiencia con al menos un framework front-end (React, Angular, Vue.js) es altamente recomendable: Aunque el curso puede repasar algunos conceptos básicos de los frameworks, se espera que los participantes ya tengan cierta familiaridad con al menos uno de ellos.


