Máster en Programación FullStack con JavaScript y Node.js
Escrito por: Ulises Gascón
Oct 25, 2017 — 5 min readJS, 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
- Edición 1 25/10/2017 - 26/06/2018
- Edición 2 1/10/18 - 02/07/19
- Edición 3 1/10/18 - 02/07/19
- Edición 4 2/10/19 - 29/06/20
🧐 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