En un capitulo más de esta serie llamada:
"Ingeniero aburrido un fin de semana"
Usuario final vs Resiliencia 🤷♂️
Hay que utilizar alguna base de datos pero... embebida? o externa?
Si usamos una embebida podemos asegurarnos que cualquier usuario la puede utilizar con el simple hecho de instalar el punto de venta, pero si usamos una externa (PostgreSQL, por decir algo) damos la oportunidad de ser resilientes y extender la funcionalidad de manera sencilla.
Pff... ambas son buenas ideas, así que para no pelear conmigo mismo (porque soy mi propio project manager) decidí hacer ambas en ramas separadas, en fin, que puede malir sal?
ORM en Flutter? 🤔
Al parecer a la comunidad de Flutter le encanta Hive y ObjectBox... El problema es que no tenemos clientes externos que nos permitan ver los datos dentro de nuestras colecciones. Estaría dependiendo de correr el código cada vez que quiera tener un entorno donde ver los datos. Sin tomar en cuenta que tengo que ejecutar constructores de código que extiendan la funcionalidad de mis modelos antes de ejecutar.
(No entendía muy bien por que hasta que...)
PostgreSQL
Decidí usar esta base de datos robusta y opensource, hay un paquete que me permite trabajar con ella, pero hay que escribir los queries a mano, como últimamente eh estado aprendiendo Spring e Hibérnate me propuse a hacer un query builder al mas puro estilo de Java.
Reflection - Dart
Pero Flutter no tiene soporte para reflection (Por eso hay que estar extendiendo la funcionalidad con builders).
Ni pepe... Toca rifarse un SQLQueryBuilder a pata, desde 0 y sin Reflects como dios manda.
Y al final? 🐛
Peleamos con el re-modelado de objectos, aprender ObjectBox, y hacer un SQLQueryBuilder este fin de semana (La verdad es que Copilot ayuda bastante). Ahí la llevamos. El sistema que usa postgres va mas adelantado (De hecho solo falta terminar de modelar el Ticket) y ObjectBox... pues ahí esta, no termino de convencerme pero le estaré dando soporte, por lo menos hasta sacar una release estable y que un par de usuarios me den feedback sobre la instalación.
Les dejo ambas ramas:
Pero... tú que piensas? 💭
Cuéntame en los comentarios. Y Happy Hacking 🧑💻🎉
Top comments (0)