Quick Start
Get started with Isar Plus in your Flutter project
Quick Start
This guide will help you get started with Isar Plus in just a few minutes.
Isar Plus works on iOS, Android, Desktop, and Web with persistent storage via OPFS/IndexedDB.
Installation
Add Dependencies
Add Isar Plus to your project:
dependencies:
isar_plus: ^1.2.0
isar_plus_flutter_libs: ^1.2.0
path_provider: ^2.1.5
dev_dependencies:
build_runner: ^2.10.4dependencies:
isar_plus: ^1.2.0
dev_dependencies:
build_runner: ^2.10.4Define Your Schema
Create your first collection:
import 'package:isar_plus/isar_plus.dart';
part 'user.g.dart';
@collection
class User {
User({required this.id});
final int id;
late String name;
int? age;
late String email;
}The part directive is required for code generation.
Generate Code
Run the code generator:
flutter pub run build_runner buildOr watch for changes:
flutter pub run build_runner watchOpen Isar Instance
Initialize Isar in your app:
import 'package:isar_plus/isar_plus.dart';
import 'package:path_provider/path_provider.dart';
Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
final dir = await getApplicationDocumentsDirectory();
final isar = Isar.open(
schemas: [UserSchema],
directory: dir.path,
);
runApp(MyApp(isar: isar));
}Use Your Database
Start storing and querying data:
// Create
await isar.writeAsync((isar) async {
final user = User(id: isar.users.autoIncrement())
..name = 'John Doe'
..age = 25
..email = 'john@example.com';
isar.users.put(user);
});
// Read
final allUsers = await isar.users.where().findAllAsync();
// Query
final youngUsers = await isar.users
.where()
.ageLessThan(30)
.findAllAsync();
// Update
await isar.writeAsync((isar) async {
user.age = 26;
isar.users.put(user);
});
// Delete
await isar.writeAsync((isar) async {
isar.users.delete(user.id);
});Next Steps
Schema
Learn about defining collections and fields
CRUD Operations
Master data manipulation
Queries
Build powerful queries
Indexes
Optimize query performance
Remember to always use write transactions for modifying data!
Last Update