Máster en Programación FullStack con JavaScript y Node.js

Escrito por: Ulises Gascón

Oct 25, 20175 min read

JS, Node.js, Frontend, Backend, Firebase, Express, Patrones, HTML5_APIs, Asincronía, Websockets, testing.

Aprende con este Máster en Programación FullStack con JavaScript y Node.js todo lo necesario para desarrollar cualquier tipo de proyecto interactivo.

Aprenderás todos sobre fundamentos y lógica de la programación, la manipulación dinámica del DOM y el desarrollo de aplicaciones interactivas usando AJAX. Tambien conocerán en profundidad el uso de patrones de diseño, control de versiones, testing y fundamentos de trabajo con Node.js lo que les permitirá integrarse en entornos de desarrollo modernos y eficientes.

A lo largo del Máster en Programación FullStack con JavaScript y Node.js también aprenderás todo lo necesario para crear aplicaciones que requieran de una base de datos ágil y en tiempo real con Firebase y la integración de servicios de terceros utilizando APIs, algo cada día más necesario actualmente.

También aprenderás a trabajar con APIs modernas para compartir datos con otros de una manera eficiente (AJAX server-side), el uso de la terminal, la asincronía y las peculiaridades propias de Node.js y el desarrollo de aplicaciones Back-End.

Como metodología de trabajo durante el curso, desarrollarás como prácticas troncales diversas aplicaciones web que te servirá además de repositorio de todo lo aprendido. El Máster se gestiona íntegramente a través de GitHub, lo que te permitirá desarrollar las practicas en un entorno colaborativo y acorde a tu labor posterior en tu puesto de trabajo.

Durante este Máster en Programación FullStack con JavaScript y Node.js, irás aprendiendo mediante el desarrollo de ejercicios prácticos orientados a proyectos reales. También desarrollarás dos proyectos personales con tutorías individualizadas con tu profesor Ulises Gascón. Además, contribuirás a proyectos Open Source reales y, al final del programa de estudios, crearás un proyecto FullStack personal para afianzar todos lo aprendido.

👾 Ediciones

🧐 Temario

Bases lógicas de la programación

  • Aprende a pensar como un/a programador/a
  • Algoritmos simples
  • Anatomía de un programa informático
  • Pseudocódigo

Fundamentos de JavaScript

  • Variables
  • Condicionales
  • Tipos de dato
  • Bucles
  • Funciones
  • Arrays
  • Objetos

Trabajando con control de versiones

  • Git
  • GitHub, Gitlab y Bitbucket
  • Pull Requests
  • Gestión de issues y proyectos
  • Trabajando con commits
  • Trabajando con ramas
  • Contribuyendo a repositorios de terceros

Gestión del DOM y Eventos

  • Agregar y eliminar elementos
  • Modificar atributos y contenido
  • Modificación de CSS
  • Getters y Setters
  • El objeto window
  • El objeto document
  • El objeto navigator
  • Gestión de eventos de usuario

Flujos de trabajo eficientes

  • Documentación con JSDoc
  • La consola
  • Chrome DevTools
  • Depuración de código
  • Versionado semántico (SEMVER)
  • Fundamentos de metodologías ágiles
  • Fundamentos de DevOps

Dominando AJAX

  • Verbos HTTP (GET, POST, DELETE…)
  • Modificación de cabeceras HTTP
  • JSON complejos
  • JSONP
  • XMLHttpRequest y Fetch
  • Recurrencia
  • Gestión de CORS y Proxies
  • Seguridad
  • Uso de clientes (Insomnia, Postman…)
  • Manejando texto plano, CSV y XML

Trabajando con motores de plantillas (Handelbars, Moustache, EJS…)

HTML5 APIs

  • Soporte offline
  • Geolocalización y mapas
  • Gráficas y visualización de datos
  • WebWorkers y Blob API

Progressive Web Apps (PWA)

Filosofías NoBackend/Serverless

Asincronía

  • Promesas
  • Callbacks
  • Async/Await
  • Colas de ejecución

Programación orientada a objetos (POO con prototipos)

Fundamentos de la programación funcional

Programación orientada a Eventos

RegExp (expresiones regulares)

Patrones (Singleton, Factory, Prototype, Iterator…)

Profundizando en algoritmia

Metaprogramación

El «nuevo» JavaScript (ECMA&, ES7, ES8, ES9…)

Gestión avanzada de APIs desde cliente

Desarrollando tus propias librerías para Frontend

Gestión de dependencias con AMD, RequireJS y Browserify

Firebase

  • Autenticación
  • Realtime Database
  • Cloud Storage
  • Hosting
  • Cloud Firestore
  • Cloud Functions
  • Predictions
  • Cloud Messaging
  • Dynamic Links

Testing en JavaScript y Node.js

  • Unit Testing (Mocha, Chai, Jasmine, Karma)
  • E2E (Puppeteer, Selenium)

Fundamentos de los frameworks más importantes de JavaScript

  • React
  • Angular
  • Vue.JS

Dominando Node.js

  • Manejando la terminal
  • Modularización del código
  • Módulos propios de Node.js (fs, http, url, cluster…)
  • Extendiendo funcionalidades con módulos de terceros
  • NPM, YARN y gestión de dependencias
  • Desarrollo de librerías isomórficas

Flujos de trabajo Front-end automatizados con Node.js

  • Automatización de tareas con Grunt, Gulp y NPM Scripts
  • Creación de proyectos escalables con Yeoman
  • Flujos eficientes con Webpack

WebSockets

  • El paradigma del tiempo real
  • Librerías WebSocket, ws, uWs…

Arquitecturas de sistemas

  • los problemas de escalabilidad
  • Arquitecturas monolíticas
  • Arquitecturas de microservicios
  • Serverless/Nobackend
  • NGINX y Apache
  • Gestión de caché
  • Utilización de CDNs

Fundamentos de Cloud

  • Software as a Service (SaaS)
  • Platform as a Service (PaaS)
  • Infraestructure as a Service (IaaS)

Desplegando en Cloud

  • Extendiendo funcionalidades con servicios Cloud
    • DialogFlow
    • Mensajería
  • Conociendo y diferenciando los proveedores principales
    • IBM Bluemix
    • Microsoft Azure
    • Amazon Web Services
    • Google Cloud
    • Heroku
    • Digital Ocean
    • OVH
  • Utilidades (PM2, Nodemon…)

Fundamentos de Docker y Kubernetes

Creación de aplicaciones CLI

  • Reusabilidad
  • Gestión de la información
  • Soporte multiplataforma

Scraping

Bases de datos

  • MySQL
  • MongoDB
  • El teorema CAP
  • Fundamentos de los modelos de datos
    • Esquemas relacionales (MySQL, Postgres…)
  • Clave/Valor (Redis, MemcacheDB…)
  • Columnar (Cassandra, BigTable…)
  • Documentales ( MongoDB, SimpleDB, CouchDB)
  • Grafos (Neo4j…)

Back-end con Node.js

  • Protocolos y especificaciones en el Back-end
  • Express
    • Manejo de rutas
    • Middleware
    • Arquitectura de APIs
    • MVC en Back-end
    • Patrones eficientes
  • Librerías para extender la funcionalidad de Express
  • Motores de plantillas para Back-end
  • Desarrollo de tus propias librerías para Back-end
  • Fundamentos de Seguridad en Back-end