Hey Arkadii, in Essenty Issue 102 you mentioned the need for an efficient binary format. However it seems that in this Release of Decompose/Essenty you used Json as the serialization format(?)
Wouldn't CBOR quite accurately fit the needs of Decompose/Essenty for this use case?
a
Arkadii Ivanov
09/25/2023, 11:01 AM
Hey! Indeed! However, there were some issues.
1. Implementing the efficient binary format requires using experimental APIs a lot. This is not good for a transitively used library.
2. iOS may keep the saved state when the app is updated (if I understand it correctly). Same behaviour may be with platforms like Desktop. Using keyed formats like JSON is safer.
3. I did some benchmarks, and JSON+Zip gives much lower Bundle sizes on Android than Parcelize, and the speed is also better.
Arkadii Ivanov
09/25/2023, 11:02 AM
Currently, only JSON is stable.
Arkadii Ivanov
09/25/2023, 11:09 AM
I think once CBOR is stable, we could do benchmarks and probably switch to it. Binary compatibility for Essenty is the only concern here.