VERSIÓN EN ESPAÑOL

Source
Así como existe una clara línea evolutiva en el ser humano, desde los homínidos hasta la especie homo, a medida que me voy adentrando al mundo de la programación, específicamente en JavaScript, me voy dando cuenta que no solo las herramientas evolucionan sino - y esto es lo más importante - una va evolucionando con ellas, en el sentido de que uno se va dando cuenta que entre todas estas herramientas hay que ir discerniendo para usar las mejores, para que el trabajo sea tanto más rápido como más óptimo, la efectividad y la eficiencia dándose la mano.
Por eso, los cursos y tutoriales que he venido haciendo de manera paulatina, pero constante me han llevado a establecer al menos tres etapas de mi camino hasta ahora: Javascript puro (o Vanilla) - la librería React.js y el framework de Next.js, el cual trabaja con todo lo anterior, pero lo lleva a un nivel de mejora continua.
Una de las razones está en que recordemos que React no es un framework, lo cual tiene sus ventajas, pero también sus desventajas, entre las que se encuentra el hecho de que (en especial para los principiantes) nos podemos perder entre tantas posibilidades de integración que se nos permite. Con el framework sucede que firmamos una especie de contrato donde para tener todo servido en cuanto a las implementaciones a utilizar, pagamos el costo de casarnos con unas líneas de acción determinada. Evidentemente, esto también tiene sus pros y contras, pero en un mundo de la tecnología que avanza tan rápido los pros inclinan la balanza a su favor.

Source
Personalmente, esto es algo que me tiene muy entusiasmado, pues, aunque estoy empezando mi camino en Next.js está cumpliendo mis expectativas, ya que en vez de pasar tiempo en preparar todo el ambiente de desarrollo, puedo dedicar más tiempo al desarrollo en sí mismo: pensar en código, funcionalidades, proyectos a realizar, etc. Ciertamente, todo va de la mano, de hecho pienso seguir capacitándome en React, puesto que al final Next.js se basa en él, pero al mismo tiempo ya quiero empezar a notar cambios más explícitos en mi camino del aprendizaje de la programación, y siento que Next es un terreno propicio para ello.
Pensar un poco sobre algunas preguntas al respecto me ha ayudado mucho, por ejemplo, entender que existe el Total Cost of Ownership (TCO), es decir, el costo que para mi efectividad en la programación puede tener algo que considero de mi propiedad: una configuración de un empaquetador, unas herramientas personales, pero que no tienen compatibilidad, el mantenimiento de determinado código, etc.
Otro caso de reflexión es el estudio de algunas empresas importantes donde, por ejemplo, en el caso de que una página web no cargue en 3 segundos, disminuye considerablemente la demanda de usuarios. De igual manera, la mejora de carga en 100 ms significa en términos económicos una ganancia del 1% más. En este sentido, lo que nos brinda Next.js es una mayor optimización de nuestras tareas, esto lo hace, entre otras cosas con el Server Side Rendering, el Static Site Generation, su enrutamiento según el modelo de sistemas de archivos mediante la creación de páginas, etc.

ENGLISH VERSION
Next.js: My evolution in learning to program

Source
Just as there is a clear evolutionary line in the human being, from hominids to the species homo, as I go deeper into the world of programming, specifically in JavaScript, I realize that not only the tools evolve but - and this is the most important - one evolves with them, in the sense that one realizes that among all these tools you have to discern to use the best ones, so that the work is both faster and more optimal, effectiveness and efficiency going hand in hand.
Therefore, the courses and tutorials that I have been doing gradually but steadily have led me to establish at least three stages of my path so far: pure JavaScript (or Vanilla) - the React.js library and the [Next.js] framework(https://nextjs.org/), which works with all of the above, but takes it to a level of continuous improvement.
One of the reasons is to remember that React is not a framework, which has its advantages, but also its disadvantages, among which is the fact that (especially for beginners) we can get lost among so many integration possibilities that we are allowed. With the framework it happens that we sign a kind of contract where to have everything served in terms of the implementations to be used, we pay the cost of marrying ourselves to certain lines of action. Obviously, this also has its pros and cons, but in a world of technology that advances so fast, the pros tip the balance in your favor.

Source
Personally, this is something that has me very excited, because, although I'm just starting my journey in Next.js is meeting my expectations, because instead of spending time preparing the entire development environment, I can spend more time on the development itself: thinking about code, features, projects to be done, etc.. Certainly, everything goes hand in hand, in fact I plan to continue training in React, since in the end Next.js is based on it, but at the same time I already want to start noticing more explicit changes in my path of learning programming, and I feel that Next is a propitious ground for that.
Thinking a little about some questions in this regard has helped me a lot, for example, to understand that there is the Total Cost of Ownership (TCO), that is, the cost for my effectiveness in programming may have something that I consider my property: a configuration of a packager, some personal tools, but that do not have compatibility, the maintenance of certain code, etc..
Another case of reflection is the study of some important companies where, for example, in the case that a web page does not load in 3 seconds, user demand decreases considerably. Similarly, the improvement of loading in 100 ms means in economic terms a gain of 1% more. In this sense, what Next.js offers us is a greater optimization of our tasks, this is done, among other things, with the Server Side Rendering, the Static Site Generation, its routing according to the file system model by creating pages, etc.


