Isar Plus

Hızlı Başlangıç

Flutter projenizde Isar Plus ile işe koyulun

Hızlı Başlangıç

Bu rehber yalnızca birkaç dakikada Isar Plus ile yol almanıza yardımcı olur.

Isar Plus, OPFS/IndexedDB aracılığıyla kalıcı depolama ile iOS, Android, Masaüstü ve Web üzerinde çalışır.

Kurulum

Bağımlılıkları Ekleyin

Isar Plus'ı projenize ekleyin:

dependencies:
  isar_plus: ^1.2.0
  isar_plus_flutter_libs: ^1.2.0
  path_provider: ^2.1.5

dev_dependencies:
  build_runner: ^2.10.4
dependencies:
  isar_plus: ^1.2.0

dev_dependencies:
  build_runner: ^2.10.4

Şemanızı Tanımlayın

İlk koleksiyonunuzu oluşturun:

lib/models/user.dart
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;
}

Kod üretimi için part yönergesi zorunludur.

Kod Üretin

Kod üreticisini çalıştırın:

flutter pub run build_runner build

Ya da değişiklikleri izleyin:

flutter pub run build_runner watch

Isar Örneğini Açın

Uygulamanızda Isar'ı başlatın:

lib/main.dart
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));
}

Veritabanınızı Kullanın

Veri saklamaya ve sorgulamaya başlayın:

// Oluştur
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);
});

// Oku
final allUsers = await isar.users.where().findAll();

// Sorgu
final youngUsers = await isar.users
  .where()
  .ageLessThan(30)
  .findAll();

// Güncelle
await isar.writeAsync((isar) async {
  user.age = 26;
  isar.users.put(user);
});

// Sil
await isar.writeAsync((isar) async {
  isar.users.delete(user.id);
});

Sonraki Adımlar

Veriyi değiştirirken daima yazma işlemleri (write transaction) kullanmayı unutmayın!

Son Güncelleme