CursosEmpresasBlogLiveConfPrecios

Fetch

Clase 13 de 26 • Curso de Asincronismo con JavaScript

Clase anteriorSiguiente clase

Contenido del curso

Introducción

  • 1
    Lo que aprenderás en este curso

    Lo que aprenderás en este curso

    01:34 min
  • 2
    Qué es el asincronismo

    Qué es el asincronismo

    09:25 min
  • 3
    Event Loop

    Event Loop

    11:13 min
  • 4
    Iniciando a programar con JavaScript

    Iniciando a programar con JavaScript

    02:59 min

Callbacks

  • 5
    Configuración

    Configuración

    10:23 min
  • 6
    Qué son los Callbacks

    Qué son los Callbacks

    14:56 min
  • 7

    Playground: Ejecuta un callback con 2s de demora

  • 8
    XMLHTTPRequest

    XMLHTTPRequest

    15:03 min
  • 9
    Fetch data

    Fetch data

    17:44 min
  • 10
    Callback hell

    Callback hell

    06:56 min

Promesas

  • 11
    Qué son las promesas

    Qué son las promesas

    11:54 min
  • 12

    Playground: Crea una función de delay que soporte asincronismo

  • 13
    Fetch

    Fetch

    Viendo ahora
  • 14
    Fetch POST

    Fetch POST

    14:55 min

Async Await

  • 15
    Funciones asíncronas

    Funciones asíncronas

    10:07 min
  • 16
    Try and catch

    Try and catch

    11:51 min
  • 17

    Playground: Captura el error de una petición

  • 18
    ¿Cómo enfrentar los errores?

    ¿Cómo enfrentar los errores?

    03:42 min

Generadores

  • 19
    Generators

    Generators

    08:06 min

Proyecto CV

  • 20
    Proyecto del curso

    Proyecto del curso

    11:48 min
  • 21
    Consumiendo API

    Consumiendo API

    19:24 min
  • 22
    Desplegando el proyecto

    Desplegando el proyecto

    16:45 min
  • 23

    Playground: Crea una utilidad para hacer peticiones

Nunca pares de crear

  • 24
    Conclusión

    Conclusión

    03:09 min
  • 25
    ¿Qué camino tomar para seguir aprendiendo?

    ¿Qué camino tomar para seguir aprendiendo?

    04:12 min
  • 26

    Autoevaluación de Proyecto: Creación de Landing Page

    00:44 min
  • Tomar el examen del curso
    • Maria Gabriela Rodriguez Cuevas

      Maria Gabriela Rodriguez Cuevas

      student•
      hace 3 años

      💾 𝗖𝗹𝗮𝘀𝗲 #𝟭𝟭: 𝗙𝗲𝘁𝗰𝗵𝟭𝟭/𝟮𝟭 💾 . Por medio de ++Fetch++ se puede realizar peticiones HTTP asíncronas de JavaScript (JS) con promesas. La API Fetch proporciona una interfaz JS más cómoda para acceder y manipular; fetch() es un método global. . 🛠️ Para poder usar fetch, primero tenemos que instalarlo: .

      • Ir a la terminal e instalar fetch con: npm i node-fetch
      • Para poder compilar desde VSC, debemos registrar el modulo en package.json, abrimos el archivo y al final se agrega:
      "type": "module"
      • Importante agregar una coma (,) a la llave que cierra a “dependencies”.
      • En la ruta src/promise crear el archivo ++challenge.js++
      • En el archivo challenge.js inicialmente se debe importar lo que acabamos de instalar, agregando el código: import fetch from 'node-fetch';
      • Dado que la API es una constante, nunca va a cambiar, por convección se coloca en letras mayúsculas: const API = 'https://api.escuelajs.co/api/v1';
      • Ahora se crea la lógica con fetch, then y catch:
      import fetch from 'node-fetch'; const API = 'https://api.escuelajs.co/api/v1'; //función que va a recibir como argumento la url que queremos llamar y esto retornará el llamado de fecth: una promesa function fetchData(urlApi){ return fetch(urlApi); }; //el llamado fetchData(`${API}/products`) .then(response => response.json()) .then(products => { console.log(products); }) .then(() => { console.log('hola'); }) //se pueden anidar múltiples .then .catch(error => console.log(error));
      • Para correrlo dentro de la consola de VSC, se selecciona el código, se da click derecho y se le da a Run Code. En la salida (OUTPUT) si no arroja error, sale una lista larga de elementos del llamado a la API. .

      Continuando con la clase, para compilar el segundo ejemplo debemos comentar fetchData() para evitar problemas de compilación. . 🖊️ ++¿Cómo comentar en JavaScript?++ . En JS se comenta cada línea con doble slash // o se puede comentar todo un párrafo iniciando con slash + asterisco /* y finalizar con asterisco + slash */ . Pero para ahorrar tiempo se puede usar los shortcuts de VSC, se pueden ver y editar en File>Preferences>Keyboard Shortcuts o pulsando las teclas Ctrl + K Ctrl + S: .

      • Para comentar con shortcut, seleccionar el texto que se quiere comentar y presionar las teclas Ctrl + K luego las sueltas y presionas las teclas Ctrl + C
      • Para quitar los comentarios con shortcut, seleccionas el texto comentado, presionar las teclas Ctrl + K luego las sueltas y presionas las teclas Ctrl + U .

      ✏️ El código del segundo ejemplo queda:

      fetchData(`${API}/products`) .then(response => response.json()) //se hace la conversión a un objeto json .then(products => { console.log(products); return fetchData(`${API}/products/${products[0].id}`) // solo se quiere mostrar el primer elemento de la primera solicitud }) .then(response => response.json()) //se vuelve traer la data .then(product => { console.log(products.title); return fetchData(`${API}/categories/${product.category.id}`) //se quiere mostrar la categoria de un producto en particular }) .then(response => response.json()) .then(category => { console.log(category.name); }) .catch(err => console.log(err)) //detectar un error .finally(() => console.log('Finally')); //es opcional para mostrar que se terminó la solicitud

      .

      • Al correrlo con Run Code, la salida muestra una lista larga con la última palabra impresa Finally.
        Raúl Romero Sánchez

        Raúl Romero Sánchez

        student•
        hace 3 años

        En lo personal me sirven de mucho estos apuntes, gracias!!

        Emerson David Cabrera Salas

        Emerson David Cabrera Salas

        student•
        hace 3 años

        Tuviste un typo en el then del segundo llamado: en lugar de products, debe ir product (sin la "s"). De resto, genial tu aporte, como siempre. Gracias.

        .then(product => { console.log(products.title); return fetchData(`${API}/categories/${product.category.id}`)
      Alejandro Sebastian Dubon Estrada

      Alejandro Sebastian Dubon Estrada

      student•
      hace 3 años

      Desde la versión 18 de Node.js se puede utilizar fetch de manera nativa.

        Juan David Reyes

        Juan David Reyes

        student•
        hace 3 años

        Se me hizo raro instalarlo por que ya hacia rato lo usaba sin instalar nada XD, gracias bro

        Federico Ivan Llano

        Federico Ivan Llano

        student•
        hace 3 años

        Eso estaba pensando y me parecia raro

      Marco Palacios Orihuela

      Marco Palacios Orihuela

      student•
      hace 3 años

      Me pareció más fácil usar las promises que las callbacks, pero la pregunta es cuando uso uno y cuando uso el otro. 🤔

        Lucas Aristizábal

        Lucas Aristizábal

        student•
        hace 3 años

        los callbacks es una forma viejita, para ser mas entendible el código, tú decides cuál eliges si callbacks o promises. los callbacks se pueden cuando solo vas a hacer máximo 3 llamados a una API, sino a eso le llamaríamos callback hell. las promesas vinieron para eso, para evitar el callback hell y hacer más llamadas a una API y hacer nuestro código mas simple.

        Catriel Perez

        Catriel Perez

        student•
        hace 3 años

        Todas son herramientas con sus pros y contras. pero creo que si necesitas enlazar pocas funciones te sirven los callback. para pedidos a una API ya hay herramientas mas modernas que lo hacen mas "aburrido" ;)

      Juan Ramirez

      Juan Ramirez

      student•
      hace 3 años

      ⭐ Fetch:

      Nos permite realizar peticiones HTTP asíncronas utilizando promesas y de forma que el código sea un poco más sencillo y menos verboso.

      Básicamente llamamos a Fetch y le pasamos como parámetro la URL de la petición.

      const request = fetch(API);

      Fetch devolvera una promesa, la cual le podremos aplicar los métodos then y catch

      fetch(API) .then(res => res.json()) .then(data => console.log(data)) .catch(err => console.log(err));

      Se pueden anidar multiples then para hacer lógicas consecuentes.

      Nicolás Leal

      Nicolás Leal

      student•
      hace 3 años

      Todo es color de rosa cunado comprendes todo maldita sea😄!!

      .

      Aunque tengo una duda,

      • Como podria usar este tipo de conocimiento en mi proyecto?
      • Osea para que sirve todo esto?
      • En que lo uso, por ejemplo en mi web page que lo hara ver mas chido?
        Brandon Vizcarra

        Brandon Vizcarra

        student•
        hace 3 años

        Literalmente puedes hacer fetch de la data de cualquier API (siempre y cuando tengas autorización) para mostrar la info en tu página web Ejemplo: Puedes hacer fetch de la data de una API de clima y mostrarlo en tu pagina como valor agregado

        Nicolás Leal

        Nicolás Leal

        student•
        hace 3 años

        ohh okay gracias Brandon.

      Cesar Cordova Contreras

      Cesar Cordova Contreras

      student•
      hace 3 años

      En las notas de un compañero del curso pasado comentó sobre una librería llamada axios que nos ayudaba a hacer las peticiones de una manera más sencilla me anime a intentarlo a hacer el codigo con esa librería y el resultado fue este se redujo mucho el codigo :

      import axios from 'axios'; const API = 'https://api.escuelajs.co/api/v1'; axios.get(`${API}/products`) .then((products) => { console.log(products.data[0]); return axios.get(`${API}/products/${products.data[0].id}`); }) .then((product) => { console.log(product.data.title); console.log(product.data.price); return axios.get(`${API}/categories/${product.data.category.id}`); }) .then((category) => console.log(category.data.name)) .catch((err) => console.error(err));

      por si a alguien le interesa solo utiliza npm i axios y listo ya lo puedes utilizar aquí dejo documentacion recuerden que antes de correr tenemos que caminar para utilizar estos frameworks y saber que esta pasando tenemos que estudiar muy bien las bases para dominar estas ayudas.

        Jonathan Jesús Martínez Rodríguez

        Jonathan Jesús Martínez Rodríguez

        student•
        hace 3 años

        Excelente ejemplo de uso con axios. Me ha servido mucho, es más comprensible y limpio el código. Muy buen aporte!

        German Medina

        German Medina

        student•
        hace 3 años

        Pregunta un poco estúpida capas. Pero como se llegan a estas APIs?

      Max Andy Diaz Neyra

      Max Andy Diaz Neyra

      student•
      hace 3 años

      Aqui les traigo una forma de escribir la funcion fetchData para no tener que escribir en cada peticion la conversion a formato json

      import fetch from "node-fetch"; const API = 'https://api.escuelajs.co/api/v1'; //función que va a recibir como argumento la url que queremos llamar y esto retornará el llamado de fecth: una promesa function fetchData(urlApi){ return fetch(urlApi).then(response => response.json()); }; fetchData(`${API}/products`) .then(products =>{ console.log(products[0]); return fetchData(`${API}/products/${products[0].id}`) }) .then(product=>{ console.info(product.title) return fetchData(`${API}/categories/${product?.category?.id}`) }) .then(category=>{ console.info(category.name) }) .catch(err=>{ console.error(err)})
      Yefreilee Danny Samuel Parra

      Yefreilee Danny Samuel Parra

      student•
      hace 3 años

      Para el que todavía no lo sepa, para comentar todo lo seleccionado en VSC, solo tienes que seleccionar lo que quieres comentar, y luego pulsar CTRL+K, seguido de CTRL+C, espero les sirva, saludos!

        Julian Ward

        Julian Ward

        student•
        hace 3 años

        Para "descomentarlo" ctrl + U

      Gutierrez Diego

      Gutierrez Diego

      student•
      hace 3 años

      Quiero darle la duda al profesor en cuanto a su forma de llevar el curso, para muchos de seguro es mucho más fácil de entender y obviamente no es solo quedarse con este curso, pero creo que sería mucho más fácil para a quellos que se nos dificulta, que hiciera un ejemplo real, es decir, tiene una web x ( y que podamos verla) y va a traer de la API x productos y la va a mostrar en dicha web pero que sea visible lo que está trayendo. Monse si me explico! Llevo todo el curso tratando de entender y me cuesta.

        Agustin Javier Alvarez Yudica

        Agustin Javier Alvarez Yudica

        student•
        hace 3 años

        Compañero, a mi tambien se me dificultó al principio. Pero al final del curso aplicamos de manera practica los conceptos vistos. Paciencia!

      Paul Martin Vargas Portugal

      Paul Martin Vargas Portugal

      student•
      hace 3 años
      import fetch from "node-fetch"; const API = 'https://api.escuelajs.co/api/v1'; function fetchData(urlApi){ return fetch(urlApi); }; /*fetchData (`${API}/products`) .then(response => response.json()) .then(products => { console.log(products); }) .catch(error => console.log(error))*/ fetchData(`${API}/products`) .then(response => response.json()) .then(products=> { console.log(products); return fetchData (`${API}/products/${products[0].id}`) }) .then(response => response.json()) .then(product => { console.log(product.title) return fetchData (`${API}/categories/${product.category.id}`) }) .then(response => response.json()) .then(category => { console.log(category.name); }) .catch(err => console.log(err)) .finally (()=> console.log('Finally'))
      Miguel Enrique Velásquez Millán

      Miguel Enrique Velásquez Millán

      student•
      hace 3 años

      ¿En vez de crear una función ++fetchData++ no podríamos usar directamente el ++fetch++ que importamos de node-fetch? 🤔. · O sea, en vez de hacer:

      function fetchData(urlApi){ return fetch(urlApi) } fetchData(`${API}/products`)

      · ¿No podríamos hacer directamente?

      fetch(`${API}/products`)
        Emmanuel Ovares

        Emmanuel Ovares

        student•
        hace 3 años

        Justamente eso me estaba preguntando. No encuentro la utilidad de llamar a fetch por medio de una función.

        Alejandra Sarahí Monroy Vélazquez

        Alejandra Sarahí Monroy Vélazquez

        student•
        hace 3 años

        Concuerdo con ustedes compañeros, tampoco le veo una finalidad, pero pongo mi comentario por si alguien del Team Platzi nos soluciona esta duda :)

      David Jurado Benito

      David Jurado Benito

      student•
      hace 3 años

      Vengo haciendo toda la ruta sin ningún problema y este curso deja mucho que desear. No explica la mitad de los conceptos que utiliza. Muy mal...

        Esteban Chica

        Esteban Chica

        student•
        hace 3 años

        Terrible curso la verdad. Debemos entenderlo pero me he tenido que apoyar en videos de youtube en casa clase, y he aprendido más de los cometnarios de la comunidad que de las clases en si.

      Diego Gabriel Marquez

      Diego Gabriel Marquez

      student•
      hace 3 años

      Me dice el siguiente error al ejecutar el codigo, ya instale el node-fetch

      /home/diego/Javascript/4. Asincronismo/src/promise/tempCodeRunnerFile.js:1 import fetch from 'node-fetch'; ^^^^^
        John Fernando Monroy Baracaldo

        John Fernando Monroy Baracaldo

        student•
        hace 3 años

        Hola a mi me paso lo mismo y en mi caso era la version de Node la actualice a la v16.15.1 la version estable. 😁🖖🏻

        Deniss Bonilla Paredes

        Deniss Bonilla Paredes

        student•
        hace 3 años

        hola @johnfmonroybpro ¿cómo le hiciste para actualizar la versión de Node? ¿desinstalaste tu versión de Node.js que ya tenías? Yo estoy en Windows 10 y eso WSL 20.04

      Ricardo Ayala Montes

      Ricardo Ayala Montes

      student•
      hace 3 años

      Si no estas muy familiarizado con arrow function ve el primer then

      fetchData(`${API}/products`) .then(function (response) { console.log("ejemplo de más validaciones"); return response.json(); // regresa el primer llamado }) .then((products) => { //console.log(products); return fetchData(`${API}/products/${products[0].id}`); // se lanza el fetch para solicitar solo un producto }) .then((response) => response.json()) //respuesta del segundo llamado .then((product) => { console.log(product); //trae el poducto return fetchData(`${API}/categoriess/${product.category.id}`); // se lanza el fetch para obtene el id de la categoria del unico producto }) .then((response) => response.json()) // respuesta del tercer llamado .then((category) => { console.log(category); //trae la categoria console.log(category.name); // imprime la categoria del producto }) .catch((error) => console.error("Error " + error)) // si existe error .finally(() => console.log("Finally")); // finally
      Ricardo Zamudio Carbajal

      Ricardo Zamudio Carbajal

      student•
      hace 3 años

      Tengo una pregunta comunidad, gracias!

      ¿Son equivalentes las dos expresiones siguientes?

      .then(response => response.json())
      .then((response) => { response.json() })
        Miguel Enrique Velásquez Millán

        Miguel Enrique Velásquez Millán

        student•
        hace 3 años

        Si no estoy mal, sip, son equivalentes. · De todas formas siempre puedes confirmarlo intentando ejecutar el código visto en la clase cambiando una expresión por la otra y ver si todo sigue funcionando correctamente, je je. Pero en teoría, sí, son equivalentes.

        Jonathan Forero

        Jonathan Forero

        student•
        hace 3 años

        En tu segundo segmento de código sería necesaria la palabra reservada return.

        .then(response => response.json())
        .then((response) => { return response.json(); })
      John Byron Alzate Hernández

      John Byron Alzate Hernández

      student•
      hace 3 años

      Recuerden que para ahorrarse el paso del package.json, pueden simplemente renombrar el archivo como Challenge.mjs

      de esa forma la m transformará el archivo js en módulo.

      Cristian Marchese

      Cristian Marchese

      student•
      hace 3 años

      Hasta el minuto 6 estaba totalmente perdido. Podría haber arrancado diciendo que fetch ya es una promesa por defecto, y así poder ir siguiendo mejor el video.

      Felix Torres Javier Antonio

      Felix Torres Javier Antonio

      student•
      hace 3 años

      Les dejo el link de la API, lo escribí mal dos veces

      import fetch from 'node-fetch'; const API = 'https://api.escuelajs.co/api/v1';
      Woldev S.A.S

      Woldev S.A.S

      student•
      hace 3 años

      En lugar de añadir tu módulo a tu package.json, puedes simplemente cambiar el formato de tu archivo .js por .msj y ya el intérprete de JavaScript lo tratará como un módulo.

      Jorge Enríquez

      Jorge Enríquez

      student•
      hace 3 años

      Colbal Hell

    Escuelas

    • Desarrollo Web
      • Fundamentos del Desarrollo Web Profesional
      • Diseño y Desarrollo Frontend
      • Desarrollo Frontend con JavaScript
      • Desarrollo Frontend con Vue.js
      • Desarrollo Frontend con Angular
      • Desarrollo Frontend con React.js
      • Desarrollo Backend con Node.js
      • Desarrollo Backend con Python
      • Desarrollo Backend con Java
      • Desarrollo Backend con PHP
      • Desarrollo Backend con Ruby
      • Bases de Datos para Web
      • Seguridad Web & API
      • Testing Automatizado y QA para Web
      • Arquitecturas Web Modernas y Escalabilidad
      • DevOps y Cloud para Desarrolladores Web
    • English Academy
      • Inglés Básico A1
      • Inglés Básico A2
      • Inglés Intermedio B1
      • Inglés Intermedio Alto B2
      • Inglés Avanzado C1
      • Inglés para Propósitos Específicos
      • Inglés de Negocios
    • Marketing Digital
      • Fundamentos de Marketing Digital
      • Marketing de Contenidos y Redacción Persuasiva
      • SEO y Posicionamiento Web
      • Social Media Marketing y Community Management
      • Publicidad Digital y Paid Media
      • Analítica Digital y Optimización (CRO)
      • Estrategia de Marketing y Growth
      • Marketing de Marca y Comunicación Estratégica
      • Marketing para E-commerce
      • Marketing B2B
      • Inteligencia Artificial Aplicada al Marketing
      • Automatización del Marketing
      • Marca Personal y Marketing Freelance
      • Ventas y Experiencia del Cliente
      • Creación de Contenido para Redes Sociales
    • Inteligencia Artificial y Data Science
      • Fundamentos de Data Science y AI
      • Análisis y Visualización de Datos
      • Machine Learning y Deep Learning
      • Data Engineer
      • Inteligencia Artificial para la Productividad
      • Desarrollo de Aplicaciones con IA
      • AI Software Engineer
    • Ciberseguridad
      • Fundamentos de Ciberseguridad
      • Hacking Ético y Pentesting (Red Team)
      • Análisis de Malware e Ingeniería Forense
      • Seguridad Defensiva y Cumplimiento (Blue Team)
      • Ciberseguridad Estratégica
    • Liderazgo y Habilidades Blandas
      • Fundamentos de Habilidades Profesionales
      • Liderazgo y Gestión de Equipos
      • Comunicación Avanzada y Oratoria
      • Negociación y Resolución de Conflictos
      • Inteligencia Emocional y Autogestión
      • Productividad y Herramientas Digitales
      • Gestión de Proyectos y Metodologías Ágiles
      • Desarrollo de Carrera y Marca Personal
      • Diversidad, Inclusión y Entorno Laboral Saludable
      • Filosofía y Estrategia para Líderes
    • Diseño de Producto y UX
      • Fundamentos de Diseño UX/UI
      • Investigación de Usuarios (UX Research)
      • Arquitectura de Información y Usabilidad
      • Diseño de Interfaces y Prototipado (UI Design)
      • Sistemas de Diseño y DesignOps
      • Redacción UX (UX Writing)
      • Creatividad e Innovación en Diseño
      • Diseño Accesible e Inclusivo
      • Diseño Asistido por Inteligencia Artificial
      • Gestión de Producto y Liderazgo en Diseño
      • Diseño de Interacciones Emergentes (VUI/VR)
      • Desarrollo Web para Diseñadores
      • Diseño y Prototipado No-Code
    • Contenido Audiovisual
      • Fundamentos de Producción Audiovisual
      • Producción de Video para Plataformas Digitales
      • Producción de Audio y Podcast
      • Fotografía y Diseño Gráfico para Contenido Digital
      • Motion Graphics y Animación
      • Contenido Interactivo y Realidad Aumentada
      • Estrategia, Marketing y Monetización de Contenidos
    • Desarrollo Móvil
      • Fundamentos de Desarrollo Móvil
      • Desarrollo Nativo Android con Kotlin
      • Desarrollo Nativo iOS con Swift
      • Desarrollo Multiplataforma con React Native
      • Desarrollo Multiplataforma con Flutter
      • Arquitectura y Patrones de Diseño Móvil
      • Integración de APIs y Persistencia Móvil
      • Testing y Despliegue en Móvil
      • Diseño UX/UI para Móviles
    • Diseño Gráfico y Arte Digital
      • Fundamentos del Diseño Gráfico y Digital
      • Diseño de Identidad Visual y Branding
      • Ilustración Digital y Arte Conceptual
      • Diseño Editorial y de Empaques
      • Motion Graphics y Animación 3D
      • Diseño Gráfico Asistido por Inteligencia Artificial
      • Creatividad e Innovación en Diseño
    • Programación
      • Fundamentos de Programación e Ingeniería de Software
      • Herramientas de IA para el trabajo
      • Matemáticas para Programación
      • Programación con Python
      • Programación con JavaScript
      • Programación con TypeScript
      • Programación Orientada a Objetos con Java
      • Desarrollo con C# y .NET
      • Programación con PHP
      • Programación con Go y Rust
      • Programación Móvil con Swift y Kotlin
      • Programación con C y C++
      • Administración Básica de Servidores Linux
    • Negocios
      • Fundamentos de Negocios y Emprendimiento
      • Estrategia y Crecimiento Empresarial
      • Finanzas Personales y Corporativas
      • Inversión en Mercados Financieros
      • Ventas, CRM y Experiencia del Cliente
      • Operaciones, Logística y E-commerce
      • Gestión de Proyectos y Metodologías Ágiles
      • Aspectos Legales y Cumplimiento
      • Habilidades Directivas y Crecimiento Profesional
      • Diversidad e Inclusión en el Entorno Laboral
      • Herramientas Digitales y Automatización para Negocios
    • Blockchain y Web3
      • Fundamentos de Blockchain y Web3
      • Desarrollo de Smart Contracts y dApps
      • Finanzas Descentralizadas (DeFi)
      • NFTs y Economía de Creadores
      • Seguridad Blockchain
      • Ecosistemas Blockchain Alternativos (No-EVM)
      • Producto, Marketing y Legal en Web3
    • Recursos Humanos
      • Fundamentos y Cultura Organizacional en RRHH
      • Atracción y Selección de Talento
      • Cultura y Employee Experience
      • Gestión y Desarrollo de Talento
      • Desarrollo y Evaluación de Liderazgo
      • Diversidad, Equidad e Inclusión
      • AI y Automatización en Recursos Humanos
      • Tecnología y Automatización en RRHH
    • Finanzas e Inversiones
      • Fundamentos de Finanzas Personales y Corporativas
      • Análisis y Valoración Financiera
      • Inversión y Mercados de Capitales
      • Finanzas Descentralizadas (DeFi) y Criptoactivos
      • Finanzas y Estrategia para Startups
      • Inteligencia Artificial Aplicada a Finanzas
      • Domina Excel
      • Financial Analyst
      • Conseguir trabajo en Finanzas e Inversiones
    • Startups
      • Fundamentos y Validación de Ideas
      • Estrategia de Negocio y Product-Market Fit
      • Desarrollo de Producto y Operaciones Lean
      • Finanzas, Legal y Fundraising
      • Marketing, Ventas y Growth para Startups
      • Cultura, Talento y Liderazgo
      • Finanzas y Operaciones en Ecommerce
      • Startups Web3 y Blockchain
      • Startups con Impacto Social
      • Expansión y Ecosistema Startup
    • Cloud Computing y DevOps
      • Fundamentos de Cloud y DevOps
      • Administración de Servidores Linux
      • Contenerización y Orquestación
      • Infraestructura como Código (IaC) y CI/CD
      • Amazon Web Services
      • Microsoft Azure
      • Serverless y Observabilidad
      • Certificaciones Cloud (Preparación)
      • Plataforma Cloud GCP

    Platzi y comunidad

    • Platzi Business
    • Live Classes
    • Lanzamientos
    • Executive Program
    • Trabaja con nosotros
    • Podcast

    Recursos

    • Manual de Marca

    Soporte

    • Preguntas Frecuentes
    • Contáctanos

    Legal

    • Términos y Condiciones
    • Privacidad
    • Tyc promociones
    Reconocimientos
    Reconocimientos
    Logo reconocimientoTop 40 Mejores EdTech del mundo · 2024
    Logo reconocimientoPrimera Startup Latina admitida en YC · 2014
    Logo reconocimientoPrimera Startup EdTech · 2018
    Logo reconocimientoCEO Ganador Medalla por la Educación T4 & HP · 2024
    Logo reconocimientoCEO Mejor Emprendedor del año · 2024
    De LATAM conpara el mundo
    YoutubeInstagramLinkedInTikTokFacebookX (Twitter)Threads