Objetivo general
- Potenciar la calidad del desarrollo, depurar y probar la codificación realizada en lenguaje JavaScript e instruir en los patrones y buenas prácticas de diseño vigentes actualmente en la industria.
Objetivos específicos
- Introducir las tecnologías, conceptos y competencias que se adquirirán a lo largo del desarrollo del curso para asegurar una adecuada codificación y despliegue de aplicaciones JavaScript.
- Estudiar los conceptos que permitirán experimentar y mejorar la legibilidad de la codificación desarrollada.
- Estudiar los conceptos que permitirán experimentar y mejorar la funcionalidad y la practicidad de su codificación desarrollada.
- Estudiar las ventajas obtenidas de la modularización de los desarrollos, de la utilización de un gestor de paquetes de código, de la programación asíncrona, de la eliminación del código innecesario y de la atención a las nuevas especificaciones publicadas por las actuales organizaciones internacionales de estandarización.
- Estudiar patrones y principios orientados a la mejora de los diseños desarrollados.
- Capacitar a los alumnos para la realización de pruebas unitarias del código desarrollado de cara a familiarizarse a cumplir los mínimos requisitos de calidad exigidos en la industria actual.
- Revisar las buenas prácticas que faciliten la detección, el control y la gestión de errores en la codificación.
Índice
MÓDULO 1. INTRODUCCIÓN
1. INTRODUCCIÓN A LAS BUENAS PRÁCTICAS
1.1 Código limpio
1.2 Escalabilidad y legibilidad
1.3 Convenios de nomenclatura
1.4 Reglas de estilo en código
2. DEFINICIONES BÁSICAS
2.1 Programación funcional
2.2 Asincronía
2.3 Arquitectura y modularización
2.4 Patrones de diseño
2.5 Pruebas
2.6 Gestión de errores
MÓDULO 2. CÓDIGO LIMPIO CON ES91. IDENTIFICACIÓN DE TIPOS DE ÁMBITO
1.1 Global y local
1.2 De bloque
1.3 Léxico
2. COMPRENSIÓN Y UTILIZACIÓN DE ECMASCRIPT 9
2.1 Variables y constantes (let y const)
2.2 Tipos de funciones (function Vs arrow)
2.3 Clases, objetos y uso de this
2.4 Destructuring
2.5 Operador spread
2.6 Parámetros rest
2.7 Array helpers (map, filter y reduce)
3. USO DE LINTING.
MÓDULO 3. PROGRAMACIÓN FUNCIONAL Y ASINCRONÍA
1.COMPRENSIÓN DEL PARADIGMA DE LA PROGRAMACIÓN FUNCIONAL
1.1 Definición y justificación
1.2 Funciones puras
1.3 Clausuras
1.4 Funciones de alto orden
1.5 Callbacks
2. ASINCRONÍA
2.1 Promesas
2.2 Async-await
2.3 Fetch API
MÓDULO 4. MÓDULOS1. CREACIÓN, IMPORTACIÓN Y EXPORTACIÓN DE MÓDULOS
1.1 Reutilización de código
1.2 El patrón módulo
1.3 CommonJS
1.4 Definición asíncrona de módulos (AMD)
1.5 Módulos de ES6
2. USO DE TÉCNICAS Y HERRAMIENTAS
2.1 Gestión de paquetes con npm y yarn
2.2 Eliminación de código inactivo (tree shaking) con webpack
MÓDULO 5. PATRONES Y PRINCIPIOS DE DISEÑO
1. IDENTIFICACIÓN Y APLICACIÓN DE PRINCIPIOS SOLID
1.1 Responsabilidad única
1.2 Abierto-cerrado
1.3 Sustitución de Liskov
1.4 Segregación de la interfaz
1.5 Inversión de dependencias
2. EJEMPLOS DE PATRONES DE DISEÑO
2.1 Creacionales: Singleton y Factory Method
2.2 Estructurales: Decorator y Proxy
2.3 De comportamiento: Observer y Strateg
MÓDULO 6. PRUEBAS
1. COMPRENSIÓN DE CONCEPTOS BÁSICOS
1.1 Definición e importancia
1.2 Desarrollo guiado por pruebas (TDD)
1.3 Pruebas unitarias y de integración (end-to-end)
2. USO DE HERRAMIENTAS
2.1 Instalación y uso del framework Jest
2.2 Ejemplos de casos de uso de pruebas unitarias
2.3 Instalación y uso del framework Cypress
2.4 Ejemplos de casos de uso de pruebas e2e
MÓDULO 7. MANEJO DE ERRORES
1. TÉCNICAS DE MANEJO DE ERRORES
1.1 Manejo de excepciones (try-catch)
1.2 Generación de logs
1.3 Otros ejemplos de buenas prácticas
Contenido SCORM para el curso IFCD89 JavaScript avanzado
Impulsa la excelencia en el desarrollo web con el curso especializado en JavaScript avanzado IFCD89. Este completo contenido está diseñado para capacitar a centros de formación en la enseñanza de las últimas técnicas y buenas prácticas en la programación con JavaScript, permitiendo a los profesionales de la industria informática elevar sus habilidades y conocimientos a un nivel superior.
Contenidos clave
- Mejora de la legibilidad y funcionalidad del código JavaScript a través de buenas prácticas y patrones de diseño.
- Exploración de conceptos avanzados como programación funcional, modularización y gestión de errores en JavaScript.
- Adquisición de habilidades para realizar pruebas unitarias y asegurar la calidad del código desarrollado.
- Utilización de herramientas como Linter, NPM y Webpack para optimizar el proceso de desarrollo y despliegue de aplicaciones.
- Aplicación de principios de diseño como Single Responsibility Principle, Open/Closed Principle y Dependency Inversion en el desarrollo de aplicaciones JavaScript.





