Since I do not have enough experience with qso loggers at all, I am not yet certain ADIF is the de-facto standard for storing logs, as opposed to just using it as data interchange format (e.g. I export it from one app to import to another). From my experience in general software engineering parsing XML file of a significant size 10-100Mb would increase app bootstrap time, even if I need only the final few records to show in the interface.
Hence, I am leaning towards SQLite or similar(?). It has the benefits:
popular and stable format that has a lot of tools to inspect its contents
is a library and not another software package/service to install and handle (e.g. MySQL/MariaDB/PostgreSQL)
would simplify some tasks (e.g. "get me 10 most recent records" to show in the UI)
There are a couple of format options here:
However, ADIF has a lot of https://adif.org/309/ADIF_309.htm#Enumerations that, in case I decide to, say, allow import-and-use-of existing ADIF logs, would just blow up scope for me.
Since I do not have enough experience with qso loggers at all, I am not yet certain ADIF is the de-facto standard for storing logs, as opposed to just using it as data interchange format (e.g. I export it from one app to import to another). From my experience in general software engineering parsing XML file of a significant size 10-100Mb would increase app bootstrap time, even if I need only the final few records to show in the interface.
Hence, I am leaning towards SQLite or similar(?). It has the benefits:
Some potential caveats: