Skip to content

feat(hydrated_bloc): Isar instead of Hive for storage #3107

@ac130kz

Description

@ac130kz

Description

Hive has an issue with high RAM usage, no support for queries and less than desirable performance for complex data [1], which in my opinion fits the purpose of hydrated_bloc. Recently a complementing library to solve these issues from the same author (@leisim) got released into stable, and it's called Isar [2]. For now, it comes with two primary downsides: it is still quite young, the web support is to (soon™).

Desired Solution

Hive is replaced with Isar as the main means of dealing with cached storage within hydrated_bloc.

Alternatives Considered

Hive alternative Objectbox [3] is not written in Rust (unlike Isar), thus any memory, undefined behaviour and concurrency related bugs will be present in higher amounts and will be harder to spot even for experts since it's inherently harder to setup for safe reliable code. However, it comes with a variety of interfaces to other languages, e.g. Kotlin and Swift.

Additional Context

[1] isar/hive#246
[2] https://github.com/isar/isar
[3] https://github.com/objectbox/objectbox-dart

Metadata

Metadata

Assignees

Labels

dependencyThis issue has an external dependencypkg:hydrated_blocThis issue is related to the hydrated_bloc package

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions