in a private persisted dictionary. • Used for app preferences, keys and session information. • Example: Shared Preferences which uses NSUserDefaults on iOS and macOS, SharedPreferences on Android, etc.
device storage. • Flutter can read/write files to internal as well as external storage. • Applications have access to an application-specific directory where files can be stored. • Often used for blob data or data file caches (i.e. disk image cache)
application specific database • Used for complex local data manipulation or for raw speed • SQLite is the most common SQL database. Usually used with ORMs to make data manipulation easy. • SQLite database file is stored in your application-specific directory. • Examples of ORMs: Moor
Stores unstructured, semi-structured, or structured data • Can be developer-friendly - Enable easy updates to schemas and fields • Examples: Hive, Sembast, ObjectDB
optimal solution • Data stored persisted can be deleted by the user; will also be deleted once the app is uninstalled • When pushing an update always handle migration of data structures (tables and collections) when there are changes