Al desarrollar proyectos de React.js (o de JavaScript con paquetes de NPM en general) es muy importante analizar las dependencias con las que vamos a trabajar.
Si creas un proyecto desde cero, lo más seguro es que utilices la última y más moderna versión de tus herramientas favoritas. Pero este no es el caso en la mayoría de proyectos de software "avanzados".
¿Qué version de React utilizar?
¿Has oído de todas las empresas y productos que usan React.js (Platzi, Facebook, Instagram, Netflix, Uber, Airbnb)? Bueno, lamento decirte que ninguna de ellas usa React 18.
¿¡Cómo es posible!? ¿Por qué una empresa de este tamaño no podría actualizarse? ¿Es esto acaso una muestra de incompetencia? ¿Sus equipos de software viven debajo de una piedra? ¿Perdieron interés en nunca parar de aprender?
Noup. Simplemente actualizar no es una prioridad.
Imagina que trabajas en Platzi. Miles de estudiantes están ansiosos por mejoras en la plataforma. Algunos incluso están desesperados porque tienen un error que les impide avanzar con su aprendizaje.
¿Qué es más prioritario?
¿Darle la mejor experiencia posible a tus estudiantes?
¿O migrar de React [inserte versión "vieja" aquí] a React 18, 19, 20 y las que vengan?
Imaginemos otra situación:
Aún no trabajas en Platzi. Estás en entrevista con Diego De Granda. Él está muy satisfecho con tu portafolio y todo lo que sabes de React. Pero te asigna una última prueba para decidir si entras o no al team: resolver todos los bugs que puedas de un proyecto gigantesco que usa React 16.
¿Qué harías en tu prueba de trabajo?
¿Decirle a Diego "uy, Dieguillo, qué decepción, yo esperaba más de Platzi, yo no trabajo con versiones cavernícolas de React, ¡adiós! ¡me avisan cuando quieran actualizar!"?
¿O sencillamente trabajar con la React que tenga el proyecto y enfocarte en lo importante (entender la arquitectura, resolver los bugs, etc.)?
Para instalar React y React DOM usamos el comando npm install react react-dom --save. Eso instala automáticamente la última versión de estas tecnologías.
Si quieres usar otra versión, usamos el símbolo @ y la versión con la que queramos trabajar (por ejemplo, en este curso usaremos React 17, así que la instalación puede realizarse con el comando npm install react@17 react-dom@17 --save).
En próximas clases instalaremos React y muchas otras herramientas para configurar nuestro entorno de trabajo profesional. Si te fijas en el archivo package.json, verás que estas son las dependencias con las que trabajaremos en este curso:
Estás en tu completo derecho de usar estas u otras versiones.
Si usas las mismas que el profesor Oscar, podrás seguir todas sus instrucciones sin conflictos por cambios inesperados en las últimas versiones de React, Webpack o React Router.
Pero también es perfectamente válido instalar la última versión de todo y "cacharrearle" hasta que logres hacerla funcionar. No es el camino más fácil. Pero es parte de la vida. Conseguirlo es un gran logro del que deberías sentir mucho orgullo.
Mi recomendación es que uses las mismas versiones del profesor si es tu primera vez trabajando con estas herramientas. Pero si ya las conoces, tratar de usar versiones diferentes definitivamente será una gran aventura (que vale la pena).
Recomendación personal
Recuerda que tú eres el o la máxima responsable de tu aprendizaje.
Platzi es el camino corto, como hacer trampa en un videojuego para ir más rápido. La increíble comunidad de estudiantes y profes que nos acompaña es maravillosa para hacer tu carrera profesional en cámara rápida.
Pero tú sigues estando en control de tus decisiones. Aprópiate de ellas. Toma riesgos y asume sus consecuencias. Lo peor que puede pasar es que debas volver a empezar unas clases atrás. Y eso está muy bien. Vas a avanzar más rápido que la primera vez.
Siempre nos encontrarás en la sección de aportes y preguntas para ayudarte en todo lo que podamos. :green_heart:
¿Entonces NO vale la pena aprender nuevas versiones de React?
¡No! ¡Esa NO es la lección correcta!
Sí es muy importante conocer los cambios en las nuevas versiones de nuestras tecnologías favoritas. Pero esto no debe impedirte avanzar con tu aprendizaje ni colaborar en proyectos con versiones que aún funcionan aunque no sean la última.
Muchas veces sí aporta muchísimo valor que una empresa o equipo actualice la versión de algunas de sus dependencias:
Si ya salió hace un tiempo, es muy probable que los clásicos bugs que aparecen en los lanzamientos ya hayan sido solucionados.
También es posible que esta migración represente una mejora en los tiempos de carga de nuestra aplicación, así que con solo actualizar podemos mejorar la experiencia de los usuarios.
Estas decisiones no suelen tomarse de un día para otro. Se planea con mucho tiempo de anticipación y analizando muy bien qué ventajas a largo plazo traerá esta inversión. A veces puede valer la pena. En otras simplemente no será prioridad.
Entonces, ¿qué versión de React vas a utilizar para el proyecto de React Shop? ¿Cuál será tu estrategia de estudio para completar este curso y sacarle todo el provecho posible? Cuéntame en los comentarios. :wink:
Cuando trabajaba como Dev en la última empresa en la que estuve, estábamos empezando un proyecto nuevo de Vue, en esos días pensaba cual sería la mejor opción para iniciar el proyecto, (Dado que tengo más conocimientos de Vue que de React), opté por iniciar todo con la versión 2 de Vue pese a que ya estaba disponible Vue 3, esa decisión se debió a los tiempos de entrega y que tenía más experiencia con la versión 2; eso es algo que también se puede agregar a lo que comenta Juan; cuando tienes beneficio con una tecnología en tiempo o conocimientos previos eso también puede ser una razón para usar una tecnología sobre otra
Lo senti como un reto totalmente justificado. Hice este curso por primera vez si mal no recuerdo hace 3 meses y me canse de cacarear, sobre todo, porque pense que programar se podria aprender en 1 semana. De lo unico que tengo para quejarme hoy es de la gente que alimenta la ansiedad. Hoy mucho mas cultivado, pase por otros cursos y me volvi a lanzar a este. La forma en la que absorvo los conocimientos me sorprende tanto que me pone feliz. Me es facil. Y es que claro, hace 6 meses no sabia ni lo que era html, subo la apuesta, no sabia que existia un sistema operativo llamado 'linux' ni que existia una especie de red social llamada 'github'. Hagan su camino con paciencia, absorvan los conocimientos. Los cursos aveces los pueden terminar en 2hs, y otras en 2 semanas (o hasta 2 meses). Pero escuchen y prueben con paciencia, lean comentarios, ABSORVAN. Esto no es una carrera, un saludo a todos los excelentisimos profesores de platzi.
muy cierto, hay que absorber todo el conocimiento.
Hola, estoy iniciando en este mundo del desarollo frontend y planeo escoger la misma versión de React que el profesor para poder ir al paso a paso, gracais Platzi por la oportunidad de crecer como profesional.
cuentame como te ha ido desde hace 3 meses! quiero saber de tu evolucion
vuelvo a comenzar el curso en la version 17 que usa el profe, llegue a la clase 14 usando lo ultimo y me pegue una estrellada contra un camion de gasolina en llamas
¡Gracias por compartir tu experiencia! Entonces instalaré la version 17.
buen aporte, también me evitaré ese choque con ese camión entonces
Bueno Juan David, yo me aviento con React 18, a por la aventura. Y estaré compartiendo por acá algunas diferencias
Eeepa esa es la onda, yo también tomo este camino 😁
Me gustó esta frase : ¿Decirle a Diego “uy, Dieguillo, qué decepción, yo esperaba más de Platzi, yo no trabajo con versiones cavernícolas de React, ¡adiós! ¡me avisan cuando quieran actualizar!”?, Lo aplicaré en una próxima entrevista 😎😎
No se que hacer, quiero usar react 18, pero soy nuevo y no se como buscar correctamenmte las respuesta que nececito en google 😱
Te recomiendo primero empezar con React 17 y luego migrar a React 18 va a ser mucho pero muchísimo más sencillo.
Igual si pueden hacer un curso de React actualizado se agradecería porque también si en un trabajo me piden React 18 o la tecnología mas reciente, no voy a decir Uy, Dieguillo, que decepción, yo esperaba más de esta empresa, yo no trabajo con versiones del futuro, ¡adiós! ¡me avisan cuando quieran versiones antiguas!
Mmmm..... este ya sería el 5to curso que hago con react... bueno, será que me vaya por React 18 y que sea lo que dios quiera
Definitivamente React 17 ... es mi primer curso usando React
Entiendo este punto, es como el modelo educativo mexicano. Existen 3 modelos que utilizan los profesores: plan 2011, aprendizajes claves 2017 y NEM 2022.
Cualquiera de ellos son utilizados en estos momentos, y el resultado puede variar. Estos aplicados en pequeñas o grandes escuelas.
Aunque el plan 2011 no es malo, pero sigue siendo vigente hasta la fecha y en las mejores instituciones.
React 17 💙
Elegí la versión mas reciente, Recuerden lo que decía el Mr Oscar Barajas en el curso de Asincronismo de JavaScript. "Los errores son nuestros amigos", si se presentasen a buscar su solución, sin miedo al éxito.
Esto de la versión de React, es como el caso de si actualizar el equipo de Windows 10 a Windows 11, igualito. Mucha gente ya usa W11 pero aun hay muchos equipos con W10 todavía, y hasta "se dice" que ya va a salir Windows 12.
Yo en mi caso, no me complicare la vida pero no echare este consejo en saco roto, y mejor seguiré a Oscar. Además, va a estar bueno el curso, y sí, los problemas nunca van a desaparecer, pero esos son los retos que todos debemos de afrontar porque yo pienso que nos dará madurez y mayor crecimiento profesional, mas bien, progreso.
Para el profe y los encargados del curso, parece que hay una pregunta mala porque la respuesta a la pregunta:
¿Porqué React.js recomienda usar JSX? debería ser:
"Porque es una sintaxis que combina JavaScript con CSS, agiliza nuestro desarrollo y mejora la legibilidad de nuestro código"
No me parece que este mala
No amigo, en esa pregunta la respuesta apropiada es la que indica que JSX es una sintaxis que integra JavaScript con XML (de ahi viene su nombre -> JSX is an XML-like syntax extension)
Esta es la pregunta con el error:
JSX is an XML-like syntax extension
JSX es Javascript + XML de alli su nombre. Puedes consultarlo en la web oficial de React.
Introduccion a JSX - React JS
Ánimo, todo para adelante, raza.
Muy buena reflexión, como es la primera vez que voy a hacer un proyecto en React voy a tomar tu sugerencia, ya que hay un dicho que dice que el que no toma consejos no llega a viejo. 😎💪🏻
Pues, como la idea es aprender con versiones anteriores, yo me voy con la version del profe Oscar Barajas