IFCD89

JavaScript avanzado

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.

Diseñado y producido por Smartmind

Disponibilidad:

Licencias disponibles

Contenidos

IFCD89 — JavaScript avanzado

Módulo 1

Introducción

Objetivo. Introducirse en las tecnologías, conceptos y competencias que se verán a lo largo del curso para asegurar una adecuada codificación y despliegue de aplicaciones JavaScript. Teleformación: Duración de las tutorías presenciales: 0 horas Conocimientos / Capacidades cognitivas y prácticas

Contenidos: 1

Conocimiento/capacidades cognitivas y prácticas

Introducción a las buenas prácticas:

Código limpio.

Escalabilidad y legibilidad.

Convenios de nomenclatura.

Reglas de estilo en código.

Definiciones básicas:

Programación funcional.

Asincronía.

Arquitectura y modularización.

Patrones de diseño.

Pruebas.

Gestión de errores.

Módulo 2

Código limpio con ES9

Objetivo. Estudiar los conceptos que permitirán experimentar y mejorar la legibilidad de la codificación desarrollada. Teleformación: Duración de las tutorías presenciales: 0 horas Conocimientos / Capacidades cognitivas y prácticas

Contenidos: 1

Conocimiento/capacidades cognitivas y prácticas

Identificación de tipos de ámbito:

Global y local.

De bloque.

Léxico.

Comprensión y utilización de ECMAScript 9:

Variables y constantes (let y const).

Tipos de funciones (function Vs arrow).

Clases, objetos y uso de this.

Destructuring.

Operador spread.

Parámetros rest.

Array helpers (map, filter y reduce).

Uso de Linting.

Módulo 3

Programación funcional y asincronía

Objetivo. Aprender los conceptos del paradigma de la programación funcional y cómo aplicarlos codificando en JavaScript, así como las técnicas de manejo de asincronía que ofrece el lenguaje. Teleformación: Duración de las tutorías presenciales: 0 horas Conocimientos / Capacidades cognitivas y prácticas

Contenidos: 1

Conocimiento/capacidades cognitivas y prácticas

Comprensión del paradigma de la programación funcional:

Definición y justificación.

Funciones puras.

Clausuras.

Funciones de alto orden.

Callbacks.

Asincronía:

Promesas.

Async-await.

Fetch API.

Módulo 4

Módulos

Objetivo. Comprender las ventajas obtenidas de la modularización de los desarrollos, de la utilización de un gestor de paquetes de código, 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. Teleformación: Duración de las tutorías presenciales: 0 horas Conocimientos / Capacidades cognitivas y prácticas

Contenidos: 1

Conocimiento/capacidades cognitivas y prácticas

Creación, importación y exportación de módulos:

Reutilización de código.

El patrón módulo.

CommonJS.

Definición asíncrona de módulos (AMD).

Módulos de ES6.

Uso de técnicas y herramientas:

Gestión de paquetes con npm y yarn.

Eliminación de código inactivo (tree shaking) con webpack.

Módulo 5

Patrones y principios de diseño.

Objetivo. Conocer los principios SOLID así como algunos de los patrones de diseño más habituales de cara a saber aplicarlos en la codificación del software. Teleformación: Duración de las tutorías presenciales: 0 horas Conocimientos / Capacidades cognitivas y prácticas

Contenidos: 1

Conocimiento/capacidades cognitivas y prácticas

Identificación y aplicación de principios SOLID:

Responsabilidad única.

Abierto-cerrado.

Sustitución de Liskov.

Segregación de la interfaz.

Inversión de dependencias.

Ejemplos de patrones de diseño:

Creacionales: Singleton y Factory Method.

Estructurales: Decorator y Proxy.

De comportamiento: Observer y Strategy.

Módulo 6

Pruebas

Objetivo. Saber realizar las pruebas (unitarias y de integración) del código desarrollado, de cara a cumplir los mínimos requisitos de calidad exigidos en la industria actual. Teleformación: Duración de las tutorías presenciales: 0 horas Conocimientos / Capacidades cognitivas y prácticas

Contenidos: 1

Conocimiento/capacidades cognitivas y prácticas

Comprensión de conceptos básicos:

Definición e importancia.

Desarrollo guiado por pruebas (TDD).

Pruebas unitarias y de integración (end-to-end).

Uso de herramientas:

Instalación y uso del framework Jest.

Ejemplos de casos de uso de pruebas unitarias.

Instalación y uso del framework Cypress.

Ejemplos de casos de uso de pruebas e2e.

Módulo 7

Manejo de errores

Objetivo. Revisar las buenas prácticas que faciliten la detección, el control y la gestión de errores en la codificación. Teleformación: Duración de las tutorías presenciales: 0 horas Conocimientos / Capacidades cognitivas y prácticas

Contenidos: 1

Conocimiento/capacidades cognitivas y prácticas

Técnicas de manejo de errores:

Manejo de excepciones (try-catch).

Generación de logs.

Otros ejemplos de buenas prácticas.