Lo que me ha gustado y disgustado de NextJS13

in Geek Zonelast year

Como programador una de las cosas que más me gusta es ir probando nuevas tecnologías y tratar de ir aprendiendo poco a poco mas cosas. Hasta hace unos meses empecé a usar NextJS13 para el desarrollo de mis aplicaciones web que me llegaran a encargar y la verdad es que es una buena herramienta para el desarrollo de software web, pero también existen ciertas cosas que no me han terminado de gustar.

Lo que me ha gustado.

Empezaré con lo fácil que es poder trabajar con él, pues prácticamente haciendo uso del comando npx create-next-app@latest para luego colocar npm run dev ya puedes ver tu ambiente de trabajo listo para usarlo en modo de desarrollo sin mencionar que tiene todo el poder de react.

Captura de pantalla 2023-10-26 212246.png

React es una excelente librería para el desarrollo de interfaces de usuario y me gusta lo facil que es usarlo, dividiendo nuestro sitio en componentes reutilizables y muy escalables (aunque a veces la curva de aprendizaje puede dificultarse, sobre todo con los usos de useContext, useEffect y otras características) por lo que si tienes experiencia con esta librería usarla con NextJS es muy bueno.

Una de las cosas que más me encanto de NextJS son la forma de "routear" las paginas, algo que por default no tenía integrado React por sí solo, entonces en NextJS con solo crear una carpeta dentro del directorio "app" y posteriormente crear un archivo de react de nombre 'page.jsx' puedes ir creando los apartados de tu web.

Por ejemplo como podemos ver en la imagen siguiente, si queremos crear los subdirectorios de nuestra web /dashboard/settings/ entonces debemos de crear en nuestro proyecto las carpetas anidadas y dentro de settings crear el archivo page.jsx que sería nuestro componente de React que se renderizara en ese momento.

Realmente el desarrollo es rápido e intuitivo aún con su curva de aprendizajes y es una de las razones por las que me gusta React y un poco NextJS.

Imagen tomada de la propia documentación de NextJS

Lo que no me ha gustado

Pero lamentablemente han sido mas mis disgustos que lo que he disfrutado, y que quede claro que esto es mas por mi gusto y opinion personal, y no porque NextJS sea malo.

Quiero empezar que una de las razones por las que empecé a aprender React, es porque me quería enfocar en que Ruby on Rails lo pueda usar para el Back-end de mis proyectos y a React para el frontend, pero en sus actualizaciones recientes prácticamente React se acaba de volver dependiente de NextJS o de cualquier otro framework que lo use como herramienta principal, siendo que ahora en la documentación oficial de React me obligan que para usar React tenga que usar obligadamente NextJS (o frameworks parecidos en vez de poderlo usar directamente.

Hacer "deploy" de tu proyecto es relativamente simple, pues con poner npm run build tu proyecto está listo para ser subido a un servidor... O sería así si no fuera que NextJS tiene una dependencia directa con Vercel (al final NextJS es administrada por Vercel) y aunque existen métodos para poder hostear tu aplicación web) casi parece como si uno estuviera casado con el otro. Actualmente, ando usando Firebase para poder subir mi aplicación web; sin embargo, el poder alojar un proyecto NextJS en firebase todavía es experimental y puede llegar a ocasionar errores, de ahí en fuera la otra forma es usar docker (que estoy aprendiendo a usarlo porque quiero ser un experto en el tema) o buscar hacerlo funcionar en un VPS

Pagina web de Vercel para hacer deploy de tu proyecto

Por último mencionar que con las actualizaciones recientes de NextJS mucha información que encuentro en la comunidad web para corregir problemas o bugs de mis proyectos hechos en NextJS queda completamente discontinuada, tanto asi que algunas de las funciones que se suelen usar en NextJS 12 ya no funcionan para nada para la versión actual, pues estas fueron cambiadas por nuevas caracteristicas.

Por ultmo, si siento que me ha faltado una comunidad hispana con la cual desenvolverme con respecto a usar NextJs, hay mucha información en ingles, pero mucha de esa información, como ya mencione, está desactualizada, por lo que solo queda respaldarte con la documentación oficial, pero muchas veces, alguien que te pueda explicar de mano a mano cuando estás atorado y mas en tu idioma puede ser de una gran ayuda para poder salir adelante tanto en el proyecto que vas desarrollando e incluso en tu propio aprendizaje.

Por ahora seguiré trabajando con NextJS hasta que termine de entregar un proyecto que ando haciendo para un cliente, pero tal vez es un buen momento para que regrese a Rails y volver a usarlo mas allá que como creación de API's, al menos hasta que encuentre una mejor forma de hacer frontends.

Sort:  

Congratulations @shadowmyst! You have completed the following achievement on the Hive blockchain And have been rewarded with New badge(s)

You received more than 45000 upvotes.
Your next target is to reach 50000 upvotes.

You can view your badges on your board and compare yourself to others in the Ranking
If you no longer want to receive notifications, reply to this comment with the word STOP

I was using it for a while but only because it was an employer requirement. Even so, I found several problems that, as you mention, may be due to the way I work. Even so, I think it can continue to improve since they have made several changes for the better.

Yo lo estuve usando un tiempo pero solo porque era un requisito del empleador. Aún así le encontré varios problemas que como mencionas quizás sean propios de mi forma de trabajar. Aún así considero que puede seguir mejorando ya que han echo varios cambios para bien.

 last year  

Pues espero que esos cambios sean buenos, la verdad lo que mas quisiera es que desapegara mas de un servicio como Vercel y que tenga una mejor integración con un VPS

Yo todos los dias PHP y mas PHP y Symfony haha

 last year  

Lleva años que no he tocado PHP, me han dicho que ha tenido una buena evolución

Si, no paran de decir que está muerto y ahí sigue renovándose contínuamente.

 last year  

Es que es un lenguaje ampliamente utiizado, lleno de programadores que lo usan, es obvio que no desaparecera facilmente por mas que digan que esta muerto.

Digo si C/C++ sigue siendo ampliamente utilizado y es un lenguaje de por ahi de 1980, con PHP que es muy usado todavia le quedan muchos años de vida

Con lo que me está costando apañarme en el trabajo eso espero jajaja.

Por lo que leo parece que eres nuevo con nextjs, como todo tendrá sus ventajas y desventajas; la documentación redacta muy bien como manejar el ruteo y demás cosas, la documentación en ingles no debería ser un problema porque puedes usar el traductor y hasta el mismo editor de código cuenta con traductor, el mayor fracaso que le encontré a nextjs es el mal manejo de imagenes con su intento de crear componentes para algo que resuelven las mismas etiquetas, como si quisiera ser React V19

 last year  

es un pleito eso de las imagenes...

Si soy nuevo con nextjs, casi me la he pasado mas en rails o con c++ (dependiendo el caso) y poco a poco voy aprendiendo mas de nextjs pero aun asi hay algo que no me hace agarrarle el gusto como quisiera

Yo creo que el gusto se da dependiendo de la necesidad del programador, porque tranquilamente todo se podría hacer con javascript, pero si te resulta mas sencillo manejar las rutas con nextjs, lo aplicas; otros desarrolladores por ejemplo aman typescript a morir pero si tienen que hacer todo con javascript van al muere, mi punto es que a veces termina siendo una elección del programador en base a su experiencia

 last year  

Ese comentario me encanto, en eso te doy completamente la razon