Build Flutter NoSQL Database App With Hive Package
In this Flutter course we are going to learn about local data storage using Hive package which help us to create NoSQL database, it internally make use of key-value and work well both with Android, iOS, Desktop and Web.
What you’ll learn
- Flutter.
- Dart.
- Hive.
- Secure Storage.
Course Content
- Introduction –> 17 lectures • 2hr 21min.
- Source Code –> 1 lecture • 1min.
Requirements
In this Flutter course we are going to learn about local data storage using Hive package which help us to create NoSQL database, it internally make use of key-value and work well both with Android, iOS, Desktop and Web.
Hive is a lightweight and blazing fast key-value database written in pure Dart. Inspired by Bitcask.
Features
- Cross platform: mobile, desktop, browser
- Great performance (see benchmark)
- Simple, powerful, & intuitive API
- Strong encryption built in
- NO native dependencies
- Batteries included
Store objects
Hive not only supports primitives, lists and maps but also any Dart object you like. You need to generate a type adapter before you can store objects
Hive was written with Flutter in mind. It is a perfect fit if you need a lightweight datastore for your app. After adding the required dependencies and initializing Hive, you can use Hive in your project:
What are boxes?
All data stored in Hive is organized in boxes. A box can be compared to a table in SQL, but it does not have a structure and can contain anything.
For a small app, a single box might be enough. For more advanced problems, boxes are a great way to organize your data. Boxes can also be encrypted to store sensitive data.
When to use Hive
Hive is very performant because it has little overhead compared to relational databases. The API is very close to how the data is stored on the disk.
Key-value databases can be used to store almost any kind of data. For example:
- User profiles
- Session information
- Article/blog comments
- Messages
- Shopping cart contents
- Product categories
- Binary data
- etc.
Hive is also one of the best options when it comes to cross-platform support. You don’t have to include binaries, and it works in the browser using IndexedDB.
If you use the shared_preferences packages and don’t need to access them from native code, you should always use Hive instead.