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.
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.
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
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.
Thanks for your contribution to the STEMsocial community. Feel free to join us on discord to get to know the rest of us!
Please consider delegating to the @stemsocial account (85% of the curation rewards are returned).
You may also include @stemsocial as a beneficiary of the rewards of this post to get a stronger support.