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.
Fecha | Teoría | Recursos | Contenido | |
---|---|---|---|---|
01/10/18 | Clase 1 | Clase 1 | Intro al Curso | |
03/10/18 | Clase 2 | Clase 2 | Git/Github/Gitlab/Bitbucket | |
05/10/18 | Clase 3 | Clase 3 | Pseudocodigo y bases de algoritmia + Definición de Proyecto I | |
08/10/18 | Clase 4 | Clase 4 | Chrome DevTools | |
10/10/18 | Clase 5 | Clase 5 | JSDocs, Comparadores, Tipos de datos, Modo Estricto, etc... | |
15/10/18 | Clase 6 | Clase 6 | Condicionales: If...else, Switch y Operador ternario | |
17/10/18 | Clase 7 | Clase 7 | Bucles: For, While, Do...while, Break & Continue | |
19/10/18 | Clase 8 | Clase 8 | Números, Math y Fechas | |
22/10/18 | Clase 9 | Clase 9 | Cadenas y Arrays | |
24/10/18 | Clase 10 | Clase 10 | Objetos y Funciones | |
26/10/18 | Clase 11 | Clase 11 | Práctica: Maquina Expendedora por consola | |
29/10/18 | Clase 12 | Clase 12 | BOM y DOM I | |
31/10/18 | Clase 13 | Clase 13 | BOM y DOM II: Manipulación y Frameworks | |
05/11/18 | Clase 14 | Clase 14 | Eventos del DOM I | |
07/11/18 | Clase 15 | Clase 15 | Práctica: Hacking Twitter | |
12/11/18 | Clase 16 | Clase 16 | Ajax I: Ajax Básico | |
14/11/18 | Clase 17 | Clase 17 | Ajax II: Ajax Avanzado y Seguridad | |
16/11/18 | Clase 18 | Clase 18 | Ajax III: HTTP/2 & Fetch | |
19/11/18 | Clase 19 | Clase 19 | Rendimiento, JSDocs, Guías de estilo y SEMVER | |
21/11/18 | Clase 20 | Clase 20 | Live Coding: Github | Social Network Project |
23/11/18 | Clase 21 | Clase 21 | Live Coding: Buenos días, Madrid! | |
26/11/18 | Clase 22 | Clase 22 | Trabajo en el proyecto personal | |
28/11/18 | Clase 23 | Clase 23 | Intro a JS Avanzado y definición de proyecto | |
30/11/18 | Clase 24 | Clase 24 | Navegadores y conceptos avanzados de JS... | |
03/12/18 | Clase 25 | Clase 25 | Entrevistas técnicas para JavaScript Developers | |
10/12/18 | Clase 26 | Clase 26 | ECMA6, es7, es8, es9 I: Teoria I | |
12/12/18 | Clase 27 | Clase 27 | ECMA6, es7, es8, es9 II: Teoria II | |
14/12/18 | Clase 28 | Clase 28 | ECMA6, es7, es8, es9 III: Ejercicios I | |
17/12/18 | Clase 29 | Clase 29 | ECMA6, es7, es8, es9 IV: Ejercicios II | |
19/12/18 | Clase 30 | Clase 30 | Router Frontend + templates | |
21/12/18 | Clase 31 | Clase 31 | Paradigmas: Programación orientada a Objetos | |
09/01/18 | Clase 32 | Clase 32 | Patrones en JS I: Antipatrones | |
11/01/18 | Clase 33 | Clase 33 | HTML5: Geo y mapas | |
14/01/19 | Clase 34 | Clase 34 | Regex I: Teoría | |
16/01/19 | Clase 35 | Clase 35 | Regex II: Ejercicios | |
21/01/19 | Clase 36 | Clase 36 | HTML5: Programación creativa con Canvas, Gráficos y 3D | |
23/01/19 | Clase 37 | Clase 37 | Paradigmas: Programación Funcional | |
25/01/19 | Clase 38 | Clase 38 | HTML5: LocalStorage y contentEditor | |
28/01/19 | Clase 39 | Clase 39 | Patrones en JS II: Metaprogramación y Patrones | |
30/01/19 | Clase 40 | Clase 40 | HTML5: Offline | |
01/02/19 | Clase 41 | Clase 41 | HTML5: WebWorkers, Blob y FileSystem | |
04/02/19 | Clase 42 | Clase 42 | HTML5: PWA | |
06/02/19 | Clase 43 | Clase 43 | Firebase I: Intro + Realtime Database | |
11/02/19 | Clase 44 | Clase 44 | Firebase I: Autenticación y Hosting | |
13/02/19 | Clase 45 | Clase 45 | Firebase I: Cloud Storage | |
15/02/19 | Clase 46 | Clase 46 | Arquitectura en JS: Presentation Patters | |
18/02/19 | Clase 47 | Clase 47 | Patrones de JS IV: Algoritmia y Estructuras de datos | |
20/02/19 | Clase 48 | Clase 48 | Nodejs: Funcionamiento, ecosistema y ejemplos | |
22/02/19 | Clase 49 | Clase 49 | Nodejs: Modularización y Librerías Core | |
25/02/19 | Clase 50 | Clase 50 | NPM, NPX, YARN y Bower | |
27/02/19 | Clase 51 | Clase 51 | Grunt y Gulp | |
01/03/19 | Clase 52 | Clase 52 | Gulp: Ejercicios | |
04/03/19 | Clase 53 | Clase 53 | Paradigmas: Programación Reactiva | |
06/03/19 | Clase 54 | Clase 54 | NPM Scripts | |
08/03/19 | Clase 55 | clase 55 | Shell Scripting: Ejercicios | |
11/03/19 | Clase 56 | Clase 56 | Shell Scripting | |
13/03/19 | Clase 57 | Clase 57 | JavaScript Modular: AMD, Requirejs y Browserify | |
18/03/19 | Clase 58 | Clase 58 | Yeoman I | |
20/03/19 | Clase 59 | Clase 59 | Yeoman II | |
22/03/19 | Clase 60 | Clase 60 | Frameworks I: Anatomía y funcionalidades | |
25/03/19 | Clase 61 | Clase 61 | Frameworks II: Ecosistema, soluciones y contextualización | |
27/03/19 | Clase 62 | Clase 62 | WebSockets: Fundamentos` | |
29/03/19 | Clase 63 | Clase 63 | Intro al backend + def. PFM | |
01/04/19 | Clase 64 | Clase 64 | Frameworks III: Angular con Jon Rojí | |
03/04/19 | Clase 65 | Clase 65 | Frameworks IV: React con Javier Vidal | |
05/04/19 | Clase 66 | Clase 66 | Frameworks V: Vue con Rubén Valseca | |
08/04/19 | Clase 67 | Clase 67 | Express I: Básicos y enrutamiento | |
10/04/19 | Clase 68 | Clase 68 | Express II: Server Render y plantillas | |
12/04/19 | Clase 69 | Clase 69 | Express III: Middleware y Patrones | |
22/04/19 | Clase 70 | Clase 70 | Resolviendo Ejercicios y repasando | |
24/04/19 | Clase 71 | Clase 71 | Express IV: Mas allá de Express | |
26/04/19 | Clase 72 | Clase 72 | Resolviendo Ejercicios y repasando | |
29/04/19 | Clase 73 | Clase 73 | WebSockets Backend y MQTT | |
06/05/19 | Clase 74 | Clase 74 | Nodejs: Conceptos Avanzados de Core (Child Process, C/C++ Addons, Cluster...) | |
08/05/19 | Clase 75 | Clase 75 | Hablemos de Seguridad Web | |
10/05/19 | Clase 76 | Clase 76 | Arquitectura (Monolito, Microservicios, serverless...) | |
13/05/19 | Clase 77 | Clase 77 | Firebase II: Google Cloud Functions | |
17/05/19 | Clase 78 | Clase 78 | Firebase II: Ejercicios de Cloud Functions | |
20/05/19 | Clase 79 | Clase 79 | Firebase II: Cloud Messaging | |
27/05/19 | Clase 80 | Clase 80 | Bases de datos: Fundamentos y GoblinDB | |
29/05/19 | Clase 81 | Clase 81 | Bases de datos: Relacionales I | |
31/05/19 | Clase 82 | Clase 82 | Bases de datos: Relacionales II | |
03/06/19 | Clase 83 | Clase 83 | Bases de datos: No-relacionales I | |
05/06/19 | Clase 84 | Clase 84 | Bases de datos: No-relacionales II | |
07/06/19 | Clase 85 | Clase 85 | Firebase III: Cloud Firestore | |
10/06/19 | Clase 86 | Clase 86 | Scraping con Puppeteer | |
12/06/19 | Clase 87 | Clase 87 | CLI con Nodejs | |
14/06/19 | Clase 88 | Clase 88 | Node funcionando con PM2, Nodemon, etc... | |
17/06/19 | Clase 89 | Clase 89 | Deploy en Cloud | |
19/06/19 | Clase 90 | Clase 90 | Testing: Fundamentos | |
21/06/19 | Clase 91 | Clase 91 | Testing: Unit Testing | |
22/06/19 | Saturday Coding I | Saturday Coding II | Live Coding: Zowiki | |
24/06/19 | Clase 92 | Clase 92 | Testing: E2E Testing & Específicos | |
26/06/19 | Clase 93 | Clase 93 | Virtualización con Docker y Kubernetes | |
28/06/19 | Clase 94 | Clase 94 | DevOps: CI y CD | |
29/06/19 | Saturday Coding II | Saturday Coding II | Live Coding: Tor y la Deep Web | |
01/07/19 | Clase 95 | Clase 95 | Entrevistas |
Bases lógicas de la programación
Fundamentos de JavaScript
Trabajando con control de versiones
Gestión del DOM y Eventos
Flujos de trabajo eficientes
Dominando AJAX
Trabajando con motores de plantillas (Handelbars, Moustache, EJS…)
HTML5 APIs
Progressive Web Apps (PWA)
Filosofías NoBackend/Serverless
Asincronía
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
Testing en JavaScript y Node.js
Fundamentos de los frameworks más importantes de JavaScript
Dominando Node.js
Flujos de trabajo Front-end automatizados con Node.js
WebSockets
Arquitecturas de sistemas
Fundamentos de Cloud
Desplegando en Cloud
Fundamentos de Docker y Kubernetes
Creación de aplicaciones CLI
Scraping
Bases de datos
Back-end con Node.js