CursosEmpresasBlogLiveConfPrecios

¿Qué es canvas en JavaScript?

Clase 2 de 24 • Taller Práctico de JavaScript: ¡Crea tu Primer Videojuego!

Clase anteriorSiguiente clase

Contenido del curso

Introducción
  • 1
    Programemos un juego con JavaScript

    Programemos un juego con JavaScript

    17:13
Canvas
  • 2
    ¿Qué es canvas en JavaScript?

    ¿Qué es canvas en JavaScript?

    18:37
  • 3
    Tamaño del canvas y sus elementos

    Tamaño del canvas y sus elementos

    17:37
  • 4
    Canvas responsive

    Canvas responsive

    12:37
Mapa del juego
  • 5
    ¿Qué es un array bidimensional?

    ¿Qué es un array bidimensional?

    05:48
  • 6
    Arreglos multidimensionales en JavaScript

    Arreglos multidimensionales en JavaScript

    23:38
  • 7
    Refactor del mapa de juego

    Refactor del mapa de juego

    20:48
Movimientos del jugador
  • 8
    Eventos y botones

    Eventos y botones

    14:14
  • 9
    Objeto playerPosition

    Objeto playerPosition

    11:34
  • 10
    Limpieza de movimientos

    Limpieza de movimientos

    09:53
  • 11
    No te salgas del mapa

    No te salgas del mapa

    11:15
Colisiones
  • 12
    Detectando colisiones fijas

    Detectando colisiones fijas

    13:29
  • 13
    Detectando colisiones con arrays

    Detectando colisiones con arrays

    14:11
  • 14
    Victoria: subiendo de nivel

    Victoria: subiendo de nivel

    07:50
  • 15
    Derrota: perdiendo vidas

    Derrota: perdiendo vidas

    11:45
Bonus: adictividad
  • 16
    Sistema de vidas y corazones

    Sistema de vidas y corazones

    13:02
  • 17
    Sistema de tiempo y puntajes

    Sistema de tiempo y puntajes

    19:30
  • 18
    ¿Qué es localStorage?

    ¿Qué es localStorage?

    07:33
  • 19
    Guardando records del jugador

    Guardando records del jugador

    18:35
Deploy
  • 20
    Depurando errores del juego

    Depurando errores del juego

    23:16
  • 21
    Desplegando el juego a GitHub Pages

    Desplegando el juego a GitHub Pages

    07:39
Próximos pasos
  • 22
    Reto: reinicio del juego

    Reto: reinicio del juego

    03:36
  • 23
    Reto: timeouts de victoria o derrota

    Reto: timeouts de victoria o derrota

    04:14
  • 24
    ¿Quieres un simulador laboral?

    ¿Quieres un simulador laboral?

    06:53
    Angel David Velasco Bonifaz

    Angel David Velasco Bonifaz

    student•
    hace 3 años

    fillRect() no recibe 4 coordenadas, recibe 2 coordenadas, que son apartir de donde inicia a dibujar, y luego el ancho y el alto.

    fillRect( xinicial, yinicial, width, height)
      Gilberto Santamaria

      Gilberto Santamaria

      student•
      hace un año

      Importante aporte !

    Marcelo Garro

    Marcelo Garro

    student•
    hace 3 años

    Para los que no les sale el auto completado de los métodos del canvas, les puedo compartir un consejo para no cometer errores de tipados con frecuencia.

    /** * @type {HTMLCanvasElement} */ const canvas = document.querySelector("#game");

    En realidad lo que hace es decir que nuestra constante "canvas" es de tipo HTMLCanvasElement, lo que nos mostrara los métodos en VSCode.

    Screenshot 2023-02-11 182140.png

      Federico Maidana

      Federico Maidana

      student•
      hace 3 años

      Buen dato

      Oscar Israel Román Quispe

      Oscar Israel Román Quispe

      student•
      hace 2 años

      Exceelente, me funcionó, ¡muchas gracias!

    Gualberto Montiel

    Gualberto Montiel

    student•
    hace 3 años

    Aqui algunos metodos de HTML5 Canvas:

    Metodos Canvas
    Joselyne Ivanny Coello Moreira

    Joselyne Ivanny Coello Moreira

    student•
    hace 3 años
    Screenshot 2023-03-10 125916.png
    function startGame(){ game.fillRect(100,25,100,100); game.clearRect(125,50,50,50); game.fillText('PLATZI', 133,78); }
    Juan Pablo Soto Velasco

    Juan Pablo Soto Velasco

    student•
    hace 3 años

    Qué buena energía tiene el profesor! Vamos bien.

    Raúl Adolfo Sánchez Rodríguez

    Raúl Adolfo Sánchez Rodríguez

    student•
    hace 3 años

    Recordatorio de eje x (horizontal) y eje y (vertical)

    ClaseX-Y.png
      Federico Ivan Llano

      Federico Ivan Llano

      student•
      hace 2 años

      Se confundio en eso? porque para mi siempre el eje horizontal fue x y vertical el Y. Al principio siempre me lo confundia, pero recuerdo que en Unity 2d se usa para hacer saltar un personaje modificando el eje Y.

    Juan David Reyes

    Juan David Reyes

    student•
    hace 3 años

    ¿Qué es canvas en JavaScript?

    Lo primero que necesitamos es el elemento de HTML donde vamos a renderizar el canvas, canvas nos sirve para renderizar gráficos 2D.

    Como condición también tenemos que crear un contexto que es donde le decimos a canvas que queremos renderizar gráficos en 2d lo hacemos así

    const game = canvas.getContext('2d');

    Ahora la variable game ya tiene las propiedades para que usemos canvas, es recomendable usar canvas una vez el HTML se ha renderizado, por eso podemos usar un escuchador de eventos en el HTML para saber cuando se cargo y poder desde ese punto usar canvas.

    fillRect()

    Con este definimos el lugar donde va a iniciar nuestro trazo o figura geométrica, recibe 4 parámetros

    game.fillRect(0,0,0,0);
    • El primer parámetro es el eje X donde inicia nuestro trazo.
    • El segundo parámetro es el eje Y.
    • El tercer parámetro es la medida de nuestro trazo o figura, es decir hasta dónde va a llegar y esta medida en en WITH o ancho.
    • El tercer parámetro también nos sirve para añadir medidas al trazo y esta medida es en HEIGTH o alto.

    clearRect()

    Este nos sirve especialmente para borrar, esta función también recibe 4 parámetros y son los mismos antes mencionados, en este caso tenemos un borrado de la posición en Y y en X que le demos y los últimos 2 parámetros el grosor del borrado.

    game.clearRect(0,0,50,50);
      Juan David Reyes

      Juan David Reyes

      student•
      hace 3 años

      fillText()

      Este nos permite insertar texto, cuando usemos esta propiedad es necesario que no solo le pasemos el texto sino también las propiedades para poderlo alinear.

      game.fillText('setso', 100,100);

      Dando estilos a nuestro texto

      Para dar estilos tenemos algunas propiedades como

      • font
      • fillStyle

      Su sintaxis es así, es un poco diferente a las otras por qué no son un método.

      Con la propiedad font podemos añadir todos los estilos correspondientes a un texto como el tamaño o su tipografía.

      game.font = '25px verdana';

      Con fillStyle ya podemos darle otros estilos como el color

      game.fillStyle = 'purple';

      textAling()

      Cómo su nombre lo dice es para poder alinear el texto, tenemos diferentes propiedades como:

      • Center
      • start
      • end
      • right
      • left
      game.textAling = 'rigth';
      Yordy Leonardo Almonte Ruiz

      Yordy Leonardo Almonte Ruiz

      student•
      hace 3 años

      ufff, buenisimo tu aporte hermano, estas notas siempre me ayudan muchisimo a la hora de centralizar el tema aprendido en la clase actual ya sea para dejar notas, hacer commits, sintetizar info, en fin lo que sea que te ayude a crear un resumen de lo que trato la clase

    Eduardo Nila

    Eduardo Nila

    student•
    hace 3 años

    Me parece interesante las funciones que existen en canvas , espero poder aprender mas de ellas

      Josue Cerron Tuesta

      Josue Cerron Tuesta

      student•
      hace 3 años

      Con canvas se pueden hacer muchas cosas!

    Javier Núñez

    Javier Núñez

    student•
    hace 3 años

    Existen mas métodos o funciones para "dibujar" en canvas, una de ellas es:

    strokeReact(x, y, width, height);

    La cual nos permite dibujar un contorno.

    Acá puedes ver algunas funciones más: https://developer.mozilla.org/es/docs/Web/API/Canvas_API/Tutorial/Drawing_shapes

    Jorge Méndez Ortega

    Jorge Méndez Ortega

    student•
    hace 3 años

    Para este caso me gusta más utilizar document.readyState

    document.onreadystatechange = () => { const { readyState = "" } = document; if (readyState === "complete") { // Me gusta utilizar el $ siempre que hago referencia a un elemento del DOM lo considero como una buena práctica ya que facilita la lectura del código const $CANVAS = document.querySelector("#game"); const CONTEXT = $CANVAS.getContext("2d"); CONTEXT.fillRect(0, 0, 100, 100); // en esta parte se cargaría la función a utilizar } };
      Federico Maidana

      Federico Maidana

      student•
      hace 3 años

      Genial, no conocía esta propiedad

    Alejandro Ramos

    Alejandro Ramos

    student•
    hace 3 años

    Lo de textAlign ta interesante el como ajusta el texto

    Raúl Adolfo Sánchez Rodríguez

    Raúl Adolfo Sánchez Rodríguez

    student•
    hace 3 años

    Método fillRect( )

    • Aprende sobre este método de la interface Canvas Rendering Context 2D:

      fillRect().png

    • Resumen de WEB APIs

      WEB APIS.png

    Fabian Camilo Huertas Suarez

    Fabian Camilo Huertas Suarez

    student•
    hace 2 años

    Ahi vamos 😃

    juego.PNG

    function startGame () { game.fillStyle = 'brown'; game.fillRect(100,25,100,100); game.clearRect(125,50,50,50); game.font = '16px Verdana'; game.fillStyle = "blue"; game.fillText('HOLI!', 128, 78); }
    Luis Miguel Rodriguez

    Luis Miguel Rodriguez

    student•
    hace 3 años

    algunos métodos de Canvas que puedes usar para crear y manipular elementos en el canvas:

    1. getContext(): Este método se utiliza para obtener el contexto de dibujo del canvas. El contexto de dibujo es un objeto que proporciona métodos y propiedades para dibujar en el canvas. El contexto se puede obtener en dos modos, 2D y 3D, y se puede llamar al método getContext() con el parámetro "2d" o "webgl" para obtener el contexto de dibujo correspondiente.
    2. fillRect(): Este método se utiliza para dibujar un rectángulo relleno en el canvas. El método toma cuatro argumentos: la posición x del rectángulo, la posición y del rectángulo, el ancho del rectángulo y la altura del rectángulo.
    3. strokeRect(): Este método se utiliza para dibujar un rectángulo con borde en el canvas. El método toma cuatro argumentos: la posición x del rectángulo, la posición y del rectángulo, el ancho del rectángulo y la altura del rectángulo.
    4. clearRect(): Este método se utiliza para borrar un área rectangular del canvas. El método toma cuatro argumentos: la posición x del área rectangular, la posición y del área rectangular, el ancho del área rectangular y la altura del área rectangular.
    5. beginPath(): Este método se utiliza para comenzar una nueva ruta de dibujo en el canvas. Los métodos moveTo() y lineTo() se utilizan a menudo después de este método para definir la ruta de dibujo.
    6. beginPath(): Este método se utiliza para comenzar una nueva ruta de dibujo en el canvas. Los métodos moveTo() y lineTo() se utilizan a menudo después de este método para definir la ruta de dibujo.
    7. moveTo(): Este método se utiliza para mover el cursor a una posición especificada en el canvas sin dibujar.
    8. lineTo(): Este método se utiliza para dibujar una línea desde la posición actual del cursor hasta una posición especificada en el canvas.
    9. stroke(): Este método se utiliza para dibujar la ruta de dibujo en el canvas con un borde.
    10. fill(): Este método se utiliza para dibujar la ruta de dibujo en el canvas rellenando la forma.
    11. arc(): Este método se utiliza para dibujar un arco en el canvas. El método toma seis argumentos: la posición x del centro del arco, la posición y del centro del arco, el radio del arco, el ángulo inicial del arco, el ángulo final del arco y la dirección del arco (opcional).
    Uriel Solis Salinas

    Uriel Solis Salinas

    student•
    hace 3 años

    Si a alguien le sirven mis apuntes:

    /* === Métodos del canvas === */ game.fillRect(0,0,100,100); /* Lugar donde inicia el trazo. */ game.clearRect(0,0,50,50); /* Sirve como borrador para alguna parte del canvas. */ game.font = "25px Verdana"; /* Tamaño que tendrá el texto del fillText y tipo de fuente.*/ game.fillStyle = "Purple"; /* Nos permite añadir estilos CSS al fillText.*/ game.textAlign = "end"; /* Posición del texto, donde comienza o donde termina respecto a la posición X y Y. */ game.fillText("Uriel", 70, 70); /* Nos permite insertar texto dentro del canvas.*/
    Axel Enrique Galeed Gutierrez

    Axel Enrique Galeed Gutierrez

    student•
    hace 3 años

    Les comparto mis apuntes. :D

    CanvasRenderingContext2D.fillRect()

    Con fillRect() podemos crear un cuadrado que parte desde un punto $X_i$ e $Y_i$, además, le podemos agregarle un ancho y un alto.

    Sintaxis

    CanvasRenderingContext2D.fillRect(Xi, Yi, WIDTH, HEIGHT);

    CanvasRenderingContext2D.clearRect()

    Contienen los mismos parámetros de fillRect(), solo que clearRect() se encarga de borrar lo que hayamos dibujado con fillRect().

    Sintaxis

    CanvasRenderingContext2D.clearRect(Xi, Yi, WIDTH, HEIGHT);

    CanvasRenderingContext2D.fillText()

    Con fillText() nos permite insertar un texto y para esto tenemos que darles las coordenadas de donde queremos insertar dicho texto.

    Sintaxis

    CanvasRenderingContext2D.fillText('Text', X, Y, maxWidth?);

    CanvasRenderingContext2D.fillStyle

    Con fillStyle, lo tratamos como un valor, nos permite agregarle estilis a nuestro texto.

    Value

    One of the following:

    • A string parsed as CSS <color> value.
    • A CanvasGradient object (a linear or radial gradient).
    • A CanvasPattern object (a repeating image).

    Sintaxis

    CanvasRenderingContext2D.fillStyle = value;

    CanvasRenderingContext2D.font

    Con font, lo tratamos como un valor, nos permite definir la funte de nuestro texto.

    Sintaxis

    CanvasRenderingContext2D.font **= '**font-size family-font font-variant font-weight**';**

    Más sobre CanvasRenderingContext2D.font.

    CanvasRenderingContext2D.textAlign

    Nos permite alinear el texto, teniendo como referencia a los ejes X e Y.

    Value

    Possible values:

    "left"The text is left-aligned.

    "right"The text is right-aligned.

    "center"The text is centered.

    "start"The text is aligned at the normal start of the line (left-aligned for left-to-right locales, right-aligned for right-to-left locales).

    "end"The text is aligned at the normal end of the line (right-aligned for left-to-right locales, left-aligned for right-to-left locales).

    The default value is "start". Imagen de @Guadalupe Monge Barale en Platzi.

    https://static.platzi.com/media/user_upload/text-788330e4-177b-444f-9911-661f51758139.jpg

    Sintaxis

    [CanvasRenderingContext2D.textAlign](https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/textAlign) = value;
    César Augusto Cortés Labrada

    César Augusto Cortés Labrada

    student•
    hace 3 años

    Esto me recuerda que dejé abandonado el proyecto de la pizarra del curso básico de programación XD. Luego de aprender más sobre canvas en este curso seguro tendré mejores ideas para agregarle a ese otro proyecto.

    Valentin moronta

    Valentin moronta

    student•
    hace 3 años

    Hola tengo un problema con el getContext ya me me salta un error: Uncaught TypeError: Cannot read properties of null (reading 'getContext') / este para ser mas expesifico, alguien sabe como resolverlo??

      Kevin J. Zea Alvarado

      Kevin J. Zea Alvarado

      student•
      hace 3 años

      Hola, Valentin. 👋 Ese error suele aparecer porque no se está llamando correctamente al id del elemento. Asegúrate de que sean exactamente el mismo, incluyendo mayúsculas y minúsculas.

      Si sigue sin funcionar, comparte tu código HTML y JavaScript.

      Valentin moronta

      Valentin moronta

      student•
      hace 3 años

      Hola, nono aun no funciona no era el id ya lo mire, ahi te dejo el codigo:

      <div class="game-container"> <!-- canvas de iteracion --> <canvas id="game"></canvas> <!-- botones --> <div class="btns"> <button id="up">Arriba</button> <button id="left">Izquierda</button> <button id="right">Derecha</button> <button id="down">Abajo</button> </div> <!-- texto extra del juego --> <div class="messages"> <p>Parrrafo de ejemplo</p> </div> </div> Y por aca el JS const canvas = document.querySelector('#game'); const game = canvas.getContext('2d'); window.addEventListener('load',starGame); function starGame() { game.fillRect(0,0,100,100); }
    Gerardo Garduño Rosas

    Gerardo Garduño Rosas

    student•
    hace 3 años

    yo tengo un problema cuando cargo dentro de la pagina el getContext me marca any y me manda un error en el navegador

    Connot read properties of hull ( reading getContext)

      Juan Pablo Soto Velasco

      Juan Pablo Soto Velasco

      student•
      hace 3 años

      Qué raro, ¿podrías compartir tu código para ver qué podría ser?

      Gerardo Garduño Rosas

      Gerardo Garduño Rosas

      student•
      hace 3 años

      const canvas = document.querySelector('canvas'); const ctx = canvas.getContext('2d');

    Ricardo Alfonso Chavez Vilcapoma

    Ricardo Alfonso Chavez Vilcapoma

    student•
    hace 3 años

    Ojito que antes de dibujar cualquier cosa en el canvas, se tienen que agregar los estilos correspondientes...sino no va a reconocer la figura los estilos.

    orden ojo.PNG
    orden ojo 2.PNG

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