Creamos el mismo proyecto en VanillaJS y ReactJS para que veas las diferencias

Поделиться
HTML-код
  • Опубликовано: 18 мар 2024
  • 👉 Conoce nuestras vacantes actuales de tecnología en bit.ly/talento-tech-GDI
    En este vídeo te contamos las diferencias entre Vanilla JS y React JS creando el mismo proyecto
    Aquí tienes el repositorio: github.com/carlosazaustre/gar...
    Si quieres aprender más de programación, te dejamos por aquí otros Garaje Code Pills que seguro que te gustarán:
    - Cómo integrar Storybook en tus proyectos de React: • Cómo integrar Storyboo...
    Este vídeo ha sido hecho en colaboración con ‪@CarlosAzaustre‬ profesor y creador de contenido dev:
    / @carlosazaustre
    Si quieres estar al tanto de todo lo que hacemos, puedes inscribirte aquí 👇
    garajedeideas.com/livecoding/...
    ----------
    Garaje de Ideas es un estudio de Diseño, Tecnología y Data. En este canal encontrarás tutoriales, cursos y ejemplos prácticos paso a paso de desarrollo web y programación.
    Podrás encontrar desde cursos de JavaScript, Node.js, D3.js, Vue3, Typescript, HTML, CSS, React... hasta cómo optimizar tu proceso de trabajo.
  • НаукаНаука

Комментарии • 77

  • @Garajedeideas
    @Garajedeideas  4 месяца назад +2

    👉 ¡En Garaje, seguimos creciendo! Conoce nuestras vacantes actuales de tecnología: bit.ly/talento-tech-GDI

  • @marcelp4825
    @marcelp4825 4 месяца назад +22

    Cuando le pasas la función en el minuto 6:44, no la estas pasando por referencia, la estas ejecutando. Cada vez que se escribe una función con sus paréntesis, ésta se ejecuta, o sea, no se pasa por referencia.
    Para pasarla por referencia se escribe sin sus paréntesis. Pero para el ejemplo, no sirve con solo pasarla sin sus paréntesis. Hay que pasarla como retorno de una arrow function (función flecha). Que es lo correcto como finalmente se explica.
    En definitiva:
    - función seguida de sus paréntesis: función que se ejecuta.
    - función sin sus paréntesis: referencia a la función.

    • @xavikur
      @xavikur 4 месяца назад +3

      Justo estaba pensando lo mismo y me estaba explotando la cabeza porque en el video se dice justo al contrario. Gracias @marcelp4825 por confirmarlo.
      En JavaScript, cuando pasas una función como argumento a otra función, como es el caso de main que se pasa a document.addEventListener en la última línea de tu código, lo que se pasa es una referencia a la función (no se está invocando). Esto significa que no se está ejecutando la función main en ese momento; en su lugar, se está pasando su referencia para que pueda ser llamada posteriormente (en este caso, cuando el evento DOMContentLoaded ocurra).

    • @albenvi94
      @albenvi94 3 месяца назад

      Si se quiere evitar lo del arrow función creo que se puede usar .bind con los argumentos de la función

  • @moibe182
    @moibe182 4 месяца назад +22

    Me leyeron la mente, justo hace un momento pensé en que sería bueno hacer ese comparativo. Gracias.

    • @Garajedeideas
      @Garajedeideas  4 месяца назад

      Gracias por tu comentario y nos alegramos de que nuestro contenido te sirva de ayuda :)

  • @jhonatanguerrero3200
    @jhonatanguerrero3200 3 месяца назад +1

    Wow nunca había visto a alguien que explicara esto también, y lo digo enserio, la forma en como lo explica y lo detalla de tal forma en que entiendes el porque de los que estas haciendo es increíble, le entendí a la perfección y el porque de cada cosa, incluso cosas que no sabía como funcionaban por detrás me dejo loco, sin duda un buen profesor, voy a echarle una ojeada a su canal para ver que más puedo aprender.

    • @Garajedeideas
      @Garajedeideas  3 месяца назад

      ¡Muchas gracias por tu comentario! Nos alegramos mucho de que nuestro contenido te sirva de ayuda :). Es que Carlos Azaustre es muy top explicando. Exacto, echa un ojo a lo que tiene en su canal y también lo puedes encontrar por IG y TikTok, que también sube contenido que te puede ayudar.

  • @joselucianocastro2836
    @joselucianocastro2836 4 месяца назад +6

    Buen video, se ve muy claro las bondades de react!

    • @Garajedeideas
      @Garajedeideas  4 месяца назад

      Gracias por tu comentario y nos alegramos de que nuestro contenido te sirva de ayuda :)

  • @bladimirbenavides3940
    @bladimirbenavides3940 4 месяца назад +2

    Excelente, gracias !

    • @Garajedeideas
      @Garajedeideas  4 месяца назад

      Gracias a ti por tu comentario! Nos alegramos de que nuestro contenido te sirva de ayuda :)

  • @julianyesidcarrenogomez1514
    @julianyesidcarrenogomez1514 4 месяца назад +3

    mas comparativas si puedes con astro estaria genial

  • @yoanestradablanco1608
    @yoanestradablanco1608 4 месяца назад +8

    Este es un profe genial su libro aprendiendo react es super genial

    • @CarlosAzaustre
      @CarlosAzaustre 4 месяца назад

      ^_^

    • @Garajedeideas
      @Garajedeideas  4 месяца назад +1

      Gracias por tu comentario y nos alegramos de que nuestro contenido te sirva de ayuda :)

  • @kimochiratirusisuka5050
    @kimochiratirusisuka5050 4 месяца назад +1

    Buen video, ahora si se que es react. Aun me pregunto como hacer en el caso de elementos repetitivos como por ejemplo una tabla de productos, me gustaria mucho si hicieras una parte 2 de esto 👍👍

    • @CarlosAzaustre
      @CarlosAzaustre 4 месяца назад +1

      Con una tabla de productos, simplemente tendrías que tener un array de objetos con los datos, y vas recorriendo con el método .map el array, y renderizando cada item

  • @mr.fabian8471
    @mr.fabian8471 3 месяца назад +1

    Excelente !!

    • @Garajedeideas
      @Garajedeideas  3 месяца назад

      Gracias por tu comentario y nos alegramos mucho de que nuestro contenido te sirva de ayuda! :)

  • @laughingvampire7555
    @laughingvampire7555 4 месяца назад +6

    si JSX fuera Javascript no necesitarias un compilador a JavaScript, no necesitarías poner el código JS entre llaves y lo podrías usar en el navegador, tu podrás pensar que es sólo un detalle pero si no tuvieras compilador simplemente todo el tiempo que nos ahorraríamos de desarrollo al no compilar, porqué crees que se inventó Go. Ese pequeño detalle tiene un costo. Y tampoco es HTML, igual si lo fuera podríamos usarlo en el navegador sin problemas, así que es XML.
    Ahora, para la gran mayoría de las aplicaciones React en sí mismo es matar moscas con cañonazos, por eso es que server rendering volvió porque, SPAs no son la abstracción correcta para la web. En los últimos 10 años es como si a los desarrolladores se les hubiera olvidado (o núnca aprendieron) las lecciones previas a React.

    • @danyael031
      @danyael031 4 месяца назад +3

      JSX es una manera de representar objetos de react de manera declarativa. Técnicamente puedes escribir una aplicación de react sin la necesidad de usar JSX, puro javascript, pero es un poco complicado. Cuando dice que JSX es javascript, se refiere a que JSX es una representación de los objetos de react. Básicamente JSX es una abstracción declarativa de javascript

    • @CarlosAzaustre
      @CarlosAzaustre 4 месяца назад

      Gracias @@danyael031 !

  • @Runtimevic
    @Runtimevic 4 месяца назад +2

    Hola, muy buen video 💯👍

  • @tramete3339
    @tramete3339 3 месяца назад

    Cuando pones una linea de codigo y de muestra el autocomplementar en gris es una extension? me gustaria saber como lo puedo descargar?

  • @rogeliohilario1234
    @rogeliohilario1234 4 месяца назад +2

    Cual es el tema que ocupas en vs, gracias por el video muy pero muy informativo... Saludos

  • @roda_error404
    @roda_error404 4 месяца назад +4

    Qué tema de Visual Studio usas en el vídeo?

  • @zgarcia7
    @zgarcia7 4 месяца назад

    Cuando decrementas en la app hecha en react, el counter no pasó por el valor 4. Por que pasó esto?

    • @mi7hrandir
      @mi7hrandir 4 месяца назад +1

      fue un brinco en la edición, si observas su cara hace un corte directo.

  • @Aleksanderoficial
    @Aleksanderoficial 4 месяца назад +2

    nuevo suscriptor

    • @Garajedeideas
      @Garajedeideas  4 месяца назад

      Gracias y bienvenido a nuestro canal! Esperamos que nuestro contenido te sirva de ayuda :)

  • @alexism.rosales4889
    @alexism.rosales4889 3 месяца назад +1

    Muyy buen video, para cuando ReactJS vs Typescript?

    • @Garajedeideas
      @Garajedeideas  3 месяца назад

      Interesante propuesta, nos apuntamos a ver si lo podemos llevar a cabo ;). Thanks!

  • @eduardoroa4252
    @eduardoroa4252 4 месяца назад

    Cual es la font que usa para vscode?? porfavorr

  • @LaLoses
    @LaLoses 3 месяца назад

    El ejemplo de un Todo list con peticiones al backend era mejor.
    En ese caso se notaría más la posibilidad de que todo se vuelva un desastre con Vanilla JS, si no se implementan diseños "opinionados"

  • @matr1x747
    @matr1x747 4 месяца назад

    Cuál es el tema y la fuente que usas en ese video?

    • @CarlosAzaustre
      @CarlosAzaustre 4 месяца назад

      Se llama "Oh Lucy", y la fuente es "Cascadia Code"

  • @paulytorres8423
    @paulytorres8423 4 месяца назад

    Perdona me puedes decir tu fuente y tu tema de vscode?

    • @CarlosAzaustre
      @CarlosAzaustre 4 месяца назад

      Se llama "Oh Lucy" y la fuente es "Cascadia Code"

  • @clustersnake
    @clustersnake 4 месяца назад +4

    Maestro! cuando una parecida entre vue 3 con react?

    • @CarlosAzaustre
      @CarlosAzaustre 4 месяца назад +2

      Estoy un poco desactualizado de Vue… habrá que hacer una VUElada con @pablosirera 😅

  • @JuanJose-ho4ns
    @JuanJose-ho4ns 4 месяца назад +7

    Sigo usando JS de hace 3 años para la web, pero sin duda alguna la velocidad en desarrollo de react y lo sencillo que es, termina haciendo que prefiera programar en React.

  • @paolobooker4163
    @paolobooker4163 3 месяца назад

    Solo en un proyecto medio/grande se nota realmente la diferencia y el poder de react

  • @HappyLicker
    @HappyLicker 3 месяца назад

    Mi pregunta es ¿a nivel de optimización cuál es más eficiente y como saberlo?

    • @miauwuau
      @miauwuau 3 месяца назад +1

      En este caso vanilla, y es simple, no estás cargando una librería y estás usando las propias apis a interfaces del navegador. Todo depende de lo que necesites, si solo es una web y no una web app pues casi siempre es mejor vainilla

    • @HappyLicker
      @HappyLicker 3 месяца назад

      @@miauwuau La eficiencia a nivel de memoria es bastante obvia, mi pregunta real es a nivel de codigo como javascript interactúa con el motor V8, a simple vista puede parecer que javascript es mas rapido, pero puede que react genere uno codigo javascript que interactúe de forma mas eficiente con el motor V8.

    • @Pacmanbot
      @Pacmanbot 3 месяца назад

      @@HappyLicker he entrado a muchas paginas con react y son pesadas como he entrado a otras con Jquery y son velocez y vanilla mucho mas, react solo da facilidad al programador pero detras hay mucho codigo que hacen de la app pesada y lenta sin mencionar el patrocinio que tiene sabemos que la cocacola mata gente pero es la mas vendida por la publicidad pagada... tengo 10 años programando y he probado de todo, me quedo con vanilla y mi propia mini libreria...

  • @miguelvasquez9849
    @miguelvasquez9849 4 месяца назад

    este ejemplo quizás no muestra muy bien la diferencia, esta puede tener un comportamiento exponencial a medida de que la aplicación sube su complejidad.

  • @User_-kv2tr
    @User_-kv2tr 3 месяца назад

    5:49 aquí no comprendo porqué refactorizar el código si ya funciona como se supone, sorry soy nuevo en progra y solo es una duda

    • @marcomendez4586
      @marcomendez4586 3 месяца назад

      Cuando tienes un proyecto grande, buscás optimizar lo más posible. Por SEO entre otras cosas.
      En síntesis, entre menos lineas necesitéis para hacer algo mucho mejor.

    • @User_-kv2tr
      @User_-kv2tr 3 месяца назад

      @@marcomendez4586 gracias master

  • @herzonsanchez731
    @herzonsanchez731 4 месяца назад +2

    En proyectos con baja proyección de crecer en tamaño prefiero Vanilla JS.

  • @rick_from_yr
    @rick_from_yr 4 месяца назад

    Un proyecto nunca será así de simple.
    En proyectos reales, donde los devs de frameworks (no solo react) importan 100 librerias nuevas por commit, ahí si la diferencia de rendimiento es bestial.

  • @FranciscoPiedras
    @FranciscoPiedras 4 месяца назад

    Una de las diferencias más notables es que en el vanilla si le das a inspeccionar código fuente, se ven los botones y todo, en react no ves nada.

    • @CarlosAzaustre
      @CarlosAzaustre 4 месяца назад

      Claro, porque es JavaScript en cliente quien renderiza el contenido y la estructura.

  • @pabloripoll
    @pabloripoll 3 месяца назад

    Excelente comparación. Para los que usan React (o cualquier otro framework) y nunca han tenido experiencia de trabajo con javascript desde antes de que salga BackboneJS (algunos ni saben lo que fué), jamás entenderán la sencillez de Vanilla JS. Es más, Vanilla JS como tal no existe, sino que fué una broma para aquellos que se encantaron con los pseudo códigos de interpretación / frameworks sobre javascript. A mí no me ha quedado otra que aprender React, Angular o Vue para poder trabajar, pero para mis propios proyectos solo utilizo Javascript ya que es suficiente y 75% más rápido para levantar proyectos. Después de todo, incluso con Typescript, es todo una sobre-ingeniería para justificar sacar dinero a las empresas y gobiernos.

  • @RDEnMinutosoficial
    @RDEnMinutosoficial 4 месяца назад +17

    Soy el único que ve que es menos trabajo con Js vanilla?

    • @leonardocurbelobetancort430
      @leonardocurbelobetancort430 4 месяца назад +1

      Es subjetivo.
      Ya que en Vanilla JS se escribe mas, pero si ya trabajaste en otros poryectos en si usuas tus propias funciones o librerias.

    • @osmarurielpererabalam1395
      @osmarurielpererabalam1395 4 месяца назад +3

      Yo igual lo pensaba pero conforme fui haciendo proyectos sobre el, ya no volví a vanilla

    • @CarlosAzaustre
      @CarlosAzaustre 4 месяца назад +4

      Es un ejemplo para comprender las diferencias. Para aplicaciones más grandes, Vanilla quizá se te haga pesado.

    • @leonardocurbelobetancort430
      @leonardocurbelobetancort430 4 месяца назад

      @@CarlosAzaustreLo de pesado es subjetivo.

    • @LuisJimenez-uh1zx
      @LuisJimenez-uh1zx 3 месяца назад

      ​@@leonardocurbelobetancort430Hola Leo, dices que has hecho librerías equivalentes a React y por eso prefieres usar Vanilla en vez de React?

  • @jhonatan52441
    @jhonatan52441 4 месяца назад

    pues un contador T-T

  • @woodenhouse8531
    @woodenhouse8531 4 месяца назад

    Un contador te lo hace Vite, sin hacer nada xd