Curso de programación usando Javascript

Categoría: Etiquetas: , ,

Descripción

En este curso de Programación usando Javascript, te sumergirás en el maravilloso mundo de JavaScript, el lenguaje que impulsa la Web. Nuestra misión es que te sientas cómodo y confiado al utilizar JavaScript en tus proyectos. A lo largo del curso, te enseñaremos los fundamentos esenciales de JavaScript, desde sus elementos básicos hasta su aplicación en el mundo real.

No importa si eres un principiante o tienes experiencia previa, aquí te llevaremos de la mano en tu viaje de aprendizaje. Aprenderás sobre los elementos clave de JavaScript y cómo utilizarlos para construir aplicaciones web impresionantes.

Además, conocerás algunas populares JavaScript librerías, como jQuery, Underscore y otros, que te ayudarán a agilizar tu trabajo y aprovechar al máximo el potencial de JavaScript.

Pero eso no es todo, también nos enfocaremos en las mejores prácticas de JavaScript, para que puedas escribir un código claro y organizado. Y si te encuentras con errores, ¡no te preocupes! Te enseñaremos técnicas de depuración y pruebas para que puedas resolver problemas como un verdadero profesional.

Nuestro objetivo es que disfrutes el proceso de aprendizaje y te sientas motivado a seguir avanzando. Así que, si estás listo para desbloquear todo el potencial de JavaScript y llevar tus habilidades al siguiente nivel, este curso es perfecto para ti. ¡Únete a nosotros y comencemos a explorar juntos el emocionante mundo de JavaScript!

Objetivos

Este curso de programación usando JavaScript de Formación TI, es una formación intensiva que cubre los aspectos teóricos y técnicos del desarrollo front-end con JavaScript. Al finalizar el curso, los asistentes tendrán una sólida comprensión del lenguaje de programación JavaScript, así como de la comprobación y depuración de programas JavaScript.

El curso se complementa con numerosos laboratorios prácticos que ayudan a los asistentes a reforzar sus conocimientos teóricos del material aprendido.

Lo que aprenderás:

  • Fundamentos de JavaScript
  • Trabajar con varias bibliotecas populares de JavaScript (Underscore,
  • jQuery, etc.)
  • AJAX
  • Pruebas de JavaScript
  • Rendimiento de JavaScript
  • Mejores prácticas de JavaScript
Requisitos previos para el Curso de programación usando JavaScript

Para tener éxito en este curso de Formación TI, los participantes deben tener experiencia con:

  • Algo de desarrollo de software
  • Entender conceptos de back end y front end en contexto de desarrollo de software
  • Capacidad de lectura de material técnico en ingles

.

Público objetivo

Desarrolladores, Diseñadores Web y entusiastas del desarrollo de software

Duración

24 horas distribuidas en 3 días de 8 horas, o sesiones de 3 o 4 horas presenciales u Online hasta completar las 24 horas

 

Contenido del curso de programación usando JavaScript

Capítulo 1 – Introducción a JavaScript

Qué es JavaScript

Qué es JavaScript

Qué no es JavaScript

No todos los JavaScripts son iguales

Lenguaje y especificación ECMAScript

Lo que puede hacer JavaScript

Lo que no puede hacer JavaScript

JavaScript en el lado del servidor

Elementos de JavaScript

Valores, Variables y Funciones

Scripts Integrados

Scripts Externos

Cuadros de Diálogo del Navegador

Comunicación en Red

 

Capítulo 2 – Variables y Tipos de Datos en JavaScript

Variables

Palabras Reservadas de JavaScript

Tipos Dinámicos

Cadenas de texto en JavaScript

Caracteres de Control de Escape

Plantillas Literales

¿Qué es Falso en JavaScript?

Números

El Objeto Number

Palabra Reservada Not A Number (NaN)

Objetos en JavaScript

Objeto Fecha (Date)

Otros Objetos Útiles

Valores Primitivos vs. Objetos

 

Capítulo 3 – Arreglos (Arrays) en JavaScript

Definición de Arreglos

Creación de un Arreglo

Miembro length del Arreglo

Recorriendo un Arreglo

Añadir Elementos a un Arreglo

Eliminar Elementos

Insertar Elementos

Obtener la Posición de un Elemento

toString() y join()

Método Sort del Arreglo

Método Filter del Arreglo

Método Map del Arreglo

Operador ‘Spread’ del Arreglo

Destructuración

Acceder a Objetos como Arreglos

 

Capítulo 4 – Operadores y Estructuras de Control en JavaScript

Operadores

Control de Flujo

Sentencia ‘if’

Sentencia ‘if…else’

Sentencia ‘switch’

Bucle ‘for’

Bucle ‘for / in’

Bucle ‘while’

Bucle ‘do…while’

Sentencias Break y Continue

Sentencias Labeled (Etiquetadas)

Las palabras clave undefined y null

Comprobando undefined y null

Comprobando Tipos con el Operador typeof

Capítulo 5 – Funciones en JavaScript

Funciones Definidas

Declaración de Funciones

Argumentos de Función

Más sobre Argumentos de Función

Valores de Retorno

Múltiples Valores de Retorno

Valores de Parámetros por Defecto

Parámetros REST

Expresiones de Funciones Anónimas

Funciones como una Forma de Crear Ámbito Privado

Vinculación de Funciones a Eventos

Eventos Comunes del DOM

Variables Locales y Globales

Variables Locales y Globales

Funciones Flecha (Arrow Functions)

Funciones Flecha (Arrow Functions) Como Parámetros

El Uso de ‘this’ Dentro de Funciones Flecha (Arrow Functions)

Capítulo 6 – Objetos en JavaScript

Objetos JSON

Añadir Propiedades

Recorrer Objetos

Objetos JSON como Cadenas de Texto

Añadir Métodos

La Palabra Clave Class

Creación de Instancias de Clase

Contexto del Objeto: ‘this’

Herencia con Clases

Propiedades Indefinidas

Eliminar una Propiedad

El Operador instanceof

El Operador typeof

Operador ‘Spread’ del Objeto

Las Funciones son Objetos de Primera Clase

Cierres (Closures)

Ejemplos de Cierres (Closures)

Ejemplos de Cierres (Closures)

Ejemplos de Cierres (Closures)

Variables Privadas con Cierres (Closures)

Expresión de Funciones Inmediatamente Invocadas (IIFE)

Capítulo 7 – JavaScript en el Navegador

Scripts Integrados

Scripts Externos

Detección de Objetos del Navegador

Aplicación del Modo Estricto (Strict Mode)

Renderización de Páginas en el Navegador

Código JavaScript

Temas

¿Qué es el DOM?

Objetos del DOM

El Objeto window

Métodos del Ciclo de Vida de window

El Objeto history

El document

Propiedades del document

Nodos y Elementos

Métodos getElement

Métodos querySelector

Ejemplo de querySelector

Algunas Propiedades del Elemento

Métodos del Elemento

Manejo de Eventos de Elementos 1

Manejo de Eventos de Elementos 2

Eventos del Elemento

Solicitudes de Red con XMLHttpRequest

Solicitudes de Red con Fetch

Capítulo 8 – La Consola de JavaScript y la API del Objeto console

Consola de JavaScript en los Navegadores

Soporte de Herramientas para Desarrolladores en los Navegadores

La Consola de Herramientas para Desarrolladores

La API de la Consola

Coloreando la Salida

Uso de los Comandos time() / timeEnd() de la Consola

Uso del Comando console.trace()

Uso del Comando console.count()

Uso del Comando console.assert()

Ejemplo del Comando console.assert()

Capítulo 9 – Depuración de Código JavaScript

¿Por qué Depurar Código JavaScript?

Herramientas de Depuración en los Navegadores

DevTools de Chrome

Los Controles de Depuración en el Panel de Fuentes

Acciones de Depuración

Acciones de Depuración Adicionales

Seleccionar un Archivo JavaScript para Depurar

Escenarios de Depuración para Puntos de Interrupción

Establecer y Eliminar Puntos de Interrupción

Información Disponible en un Punto de Interrupción

Alternar Puntos de Interrupción

Otras Formas de Administrar Puntos de Interrupción

Control Programático Durante las Pausas de Depuración

Interrupción en Excepciones

Otras Técnicas de Depuración

Puntos de Interrupción en Event Listeners de JavaScript

Eventos Soportados

Capítulo 10 – Manejo de Excepciones en JavaScript

Manejo de Excepciones

Sintaxis de Try

El Bloque Finally

Bloques Try Anidados

Tipos de Excepciones en JavaScript

La Sentencia Throw

Uso del Objeto Error

Capítulo 11 – Pruebas en JavaScript con Jest

Marco de Pruebas Jest

Características

Instalación de Jest

Una Prueba Básica

Ejecución de Pruebas

Fallas en las Pruebas

Modo Interactivo

Cobertura de Código

Pruebas Unitarias

Anatomía de una Prueba Unitaria

Expectativas (Asertos)

Matchers Comunes

Combinación de Pruebas

Pruebas de Código Asíncrono con done

Pruebas de Código Asíncrono Basado en Promesas

Configuración y Limpieza (Setup y Teardown)

Ejemplo de Configuración y Limpieza (Setup y Teardown)

Creación de Métodos Falsos y Seguimiento de Llamadas con Spies

Un Ejemplo de Spy

Variaciones en la Configuración de spyOn

Simulación de Excepciones

Capítulo 12 – Rendimiento y Mejores Prácticas en JavaScript

Aprovechando las Bibliotecas Modernas de JavaScript

Carga de Scripts

Minificación de Código JavaScript

Uso de Guías de Estilo de JavaScript

Ejemplos de Reglas y Sugerencias de Guías de Estilo de JavaScript

Evitar Variables Globales, Utilizar Ámbitos Adecuados

Algunos Problemas Sutiles con var

El Ámbito de Bloque con ECMAScript 6 Let

Utilizar un Ámbito Adecuado para un Mejor Rendimiento

Ejemplo de Ámbito

Agilizar Programas con un Ámbito de Variables Adecuado

Almacenar en Caché Propiedades Accedidas Varias Veces

Utilizar Asincronía

Aprovechar los Web Workers de HTML5

Preferir Literales a Constructores

Evitar el Uso de eval()

Consideraciones para la Optimización del Rendimiento

Perfilado de Rendimiento

Perfiladores de Programas JavaScript en Navegadores

Perfilador de IE

Perfilador de Ejecución de Código de IE

Perfilador de Asignación de Memoria de IE

Perfilador de Chrome

Limpiar Tu Código

Cosas que un Linter de JavaScript Verifica Normalmente

Usar el Modo Estricto (Strict Mode)

Usar JOIN para la Concatenación

Igual o No Igual

Capítulo 13 – Automatización de Pruebas y Sistemas de Integración Continua para JavaScript

Integración Continua, Automatización de Compilación y Pruebas

¿Qué es Node.js?

Administrador de Paquetes de Node (NPM)

¿Qué es Grunt?

Fragmento del archivo Gruntfile.js

Instalación de Grunt

¿Qué es Bower?

Instalación de Paquetes en Bower

¿Qué es Karma?

Cómo Funciona Karma

Trabajando con Lanzadores de Navegadores

Configuración de la Ruta de Ejecutables del Navegador

Herramientas de Integración Continua/ Entrega

Sistema de Gestión de Compilación TeamCity

Descripción General de TeamCity

Descripción General de TeamCity

Descripción General de TeamCity

Capítulo 14 – Introducción a NodeJS

¿Qué es Node.js?

Usos de Node.js

Instalación de Node.js y NPM

«¡Hola, Aplicación de Node!»

«¡Hola, Servidor de Node!»

Administrador de Paquetes de Node (NPM)

Comandos Comunes de NPM

Archivo Descriptor de Paquete – package.json

Numeración Semántica de Versiones

Actualización de Paquetes

Desinstalación de Paquetes

Capítulo 15 – Programación Asíncrona con Callbacks

Sincrónico y Asincrónico

Callbacks

Creación de una Función de Callback

Llamando a la Función de Callback

Callback – Otro Ejemplo

Problema con la Palabra Clave ‘this’ en Funciones de Callback

Manejo de este Problema

Manejo de este Problema – Método 1 (Almacenar en Otra Variable)

Manejo de este Problema – Método 2 (Utilizando la Función Bind)

Manejo de este Problema – Método 3 (Utilizando Funciones Flecha ES6)

Manejo de Errores sin Callback

Manejo de Errores con Callback

Callback Asíncrono

setImmediate() y nextTick()

Ejemplo de API

Capítulo 16 – Programación Asíncrona con Promesas

Los Problemas con los Callbacks

Introducción a las Promesas

Requisitos para Usar Promesas

Creación Manual de Promesas

Llamando a la Función Basada en Promesas

Creando APIs que admitan tanto Callbacks como Promesas

Utilizando APIs que admitan tanto Callbacks como Promesas

Encadenando el Método then / Retornando un Valor o una Promesa desde el Método then

Promisificando Callbacks con Bluebird

Utilizando Bluebird

Bluebird – Lista de Funciones Útiles

Ventajas de usar Bluebird sobre ES6 para la Promisificación

Manejo de Errores en Funciones Asíncronas Basadas en Promesas

Ejercicios de Laboratorio

Laboratorio 1. Introducción a JavaScript

Laboratorio 2. Sintaxis Básica de JavaScript

Laboratorio 3. Arreglos (Arrays) en JavaScript

Laboratorio 4. Funciones en JavaScript

Laboratorio 5. Objetos en JavaScript

Laboratorio 6. La Consola de JavaScript y la API del Objeto console

Laboratorio 7. Depuración de Programas JavaScript

Laboratorio 8. Manejo de Excepciones en JavaScript

Laboratorio 9. Pruebas en JavaScript con Jest

Laboratorio 10. Perfilado de Rendimiento en JavaScript

Laboratorio 11. Primeros Pasos con Node.js

Laboratorio 12. Programación Asíncrona con Callbacks

Laboratorio 13. Programación Asíncrona con Promesas