Framework de Administracion
El dia que me decidi a armar el blog de nuevo, la primera pregunta que se me ocurrio fue "Para que?". Si era para salir con algo enseguida, sin renegar mucho, podria haber comprado una instancia de Lightsail o Digital Ocean, le ponia un Wordpress y listo, 0 stress y problema. Pero como soy COM PLI CADA, decidi armar todo a pulmon. Para que? Siempre es bueno tener un proyecto personal, para ir poniendo en uso las cosas que uno lee o tiene que estudiar. Este post va a contar un poco que uso para la administracion del blog.
Para el backend nunca tuve muchas dudas: tengo otro proyecto con NodeJS, y no me siento muy comoda: siento que el VSCode esta bien, pero le falta algo, asi que mejor me voy a terreno conocido, asi que eso esta hecho en .NET (despues en otro post cuento un poco la arquitectura y que uso).
Para el Frontend, ahi el tema es otro... yo soy mas bien backend developer. Todo lo que sea frontend me cuesta un monton (si, tambien centrar un DIV me cuesta), y no tenia muchas ganas de armar absolutamente de 0. Hacia unos meses que habia leido sobre refine.dev, y les pego como ellos mismos se definen:
Refine es un React meta-framework para aplicaciones web muy orientadas a CRUD (alta/baja/modificacion/borrado).
No hay un ejemplo mas CRUD que un blog, asi que ahi vamos!
En el sitio de refine.dev, podemos ver que tienen muchisimas conexiones disponibles out-of-the-box, por si queremos integrarnos derecho a ciertas app.
En mi caso, como la API tambien la estaba escribiendo yo (y no queria conectarme derecho a DynamoDB) cree un nuevo provider de REST para mi API, asi que simplemente agarre el ejemplo de REST y lo adapte a lo que necesitaba.
Para la autenticacion, fue algo parecido: como mi API esta protegida por un AWS API Gateway con un provider de Cognito, necesitaba pasar email y password, y eso me devolvia un JWT Token. Con ese token, despues, puedo hacer las operaciones en la API. Asi que, parecido al otro caso, tome un auth provider de ejemplo y lo adapte a lo que mi backend esperaba.
Armar las paginas de cada seccion fue bastante facil, usando algunos ejemplos del repo de refine.dev y el Provider que habia armado. Es todo muy opiniated ("hacelo asi, si no te gusta, lo siento, se hace asi y punto") pero es el precio que se paga cuando aceptas usar un framework de este estilo. Una vez que entendes mas o menos cual fue la idea, es bastante facil adaptarlo a lo que necesitas.
La documentacion es bastante completa, tiene un tutorial que funciona bien como para entender los conceptos basicos, tienen bastante ejemplos de varios casos diferentes, y esta bastante actualizada.
El proyecto esta en GitHub y tiene mas de 25k de ⭐, asi que es bastante estable y usado.
La conclusion es: volveria a usarlo para un futuro proyecto? En mi caso, creo que si, me ayudo a sacar las cosas "de forma rapida", pero la parte mala es que tengo algunos errores en la consola, que no se muy bien como arreglar, porque no entiendo bien como funciona el framework "under the hood". Por suerte todo funciona, y los errores no dejan de ser warnings o errores de cosas "deprecadas", pero si son perfeccionistas y no quieren ver ni un error, tal vez les moleste un poco 😄
Comentarios Recientes
No hay comentarios, porque no dejás alguno?

Deja un comentario
