Introducción
  • Presentación del curso y recomendaciones
Sentando las bases
  • ¿Qué herramientas vamos a necesitar?
  • Emmet en Sublime Text 3
  • ¿Cuál es la diferencia exacta entre HTML, CSS y JS?
  • Consola de desarrollo de Chrome
Javascript: Fundamentos de programación
  • Variables, valores y operadores
  • Tipos de datos y comentarios
  • Javascript es un lenguaje débilmente tipado
  • Conversión entre tipos de datos
  • Constantes
  • Condicionales
  • Bucles
  • Funciones
  • Ámbitos (Scopes)
Un piano en Javascript
  • Primeros pasos
  • Una tecla
  • Varias teclas
  • Repaso y refactorización
  • Pulsaciones del teclado
Javascript: Entrando en materia
  • 7 tipos de datos disponibles
  • Objetos
  • Arreglos
  • Funciones
  • Métodos y propiedades predefinidos
Piedra, papel o tijeras en Javascript
  • Esquema general
  • Añadiendo estilos CSS básicos
  • Diseño base y referencias
  • Elección del jugador y de la computadora
  • ¡Y el ganador es!
  • Mostrando resultados finales
Características nuevas en ES6
  • Diferencias entre var, let y const
  • Template literals
  • Tagged template literals
  • Operador rest
  • Operador spread
  • Desestructuración (destructuring)
El juego de la snake
  • El elemento Canvas de HTML5
  • Detectar pulsaciones del teclado (Flechas)
  • Cómo generar movimiento
  • ¿Qué es el Main loop o Game loop?
  • Generar alimento para la snake
  • Colores y cómo consumir el alimento
  • Aumentar el tamaño de la snake
  • Detección de colisiones
  • Evitar dirección contraria
  • Límites del contexto
  • Game over
  • Validar posición aleatoria del alimento
  • Última dirección aplicada
POO y más características en ES6
  • Parámetros por defecto
  • Generadores e Iteradores
  • Programación Orientada a Objetos (POO)
  • Clases
  • Herencia entre clases
  • Getters y setters
Módulos en JS y su implementación en ES6
  • ¿Qué son los módulos? ¿Por qué usarlos?
  • Módulos en Javascript
  • Módulos en ES6
  • Import y Export
  • De ES6 a ES5 por compatibilidad
  • Webpack y Babel
  • Repaso acerca de node_modules y npm
  • Eliminando dependencias con npm uninstall
  • Webpack Dev Server y Live Reloading
  • Evaluación acerca de módulos
Refactorización de código (Snake)
  • Aplicando: Webpack, Babel, Preset, Serve
  • Square: Primer módulo y clase
  • Snake: Reemplazar funciones por métodos
  • Clase Game y fin de la refactorización
Aclaraciones y pasos siguientes
  • JS no es JQuery. ¿Es malo aprender JQuery?
  • Biblioteca VS Módulo VS Paquete
  • Ajax: ¿Qué es? ¿Requiere JQuery? Ejemplo.
  • Qué sigue, y palabras finales
  • Proyecto disponible en Github
Actualización: Más sobre ES6
  • Introducción a las Promesas en JS
  • Cómo crear una Promesa
  • Async y Await
  • Fetch API