Realm Kotlin pour Kotlin : guide complet avec exemples

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

Realm Kotlin pour Kotlin : guide complet avec exemples

1. Qu'est-ce que Realm Kotlin et pourquoi l'utiliser ?

Realm Kotlin est une base de données mobile moderne, rapide et orientée objet, spécialement conçue pour l'écosystème Kotlin Multiplatform (KMP). Contrairement aux solutions traditionnelles comme SQLite ou Room, Realm ne fonctionne pas avec des tables et des lignes, mais directement avec des objets Kotlin. Cela signifie que vous manipulez les données comme des classes ordinaires, sans avoir à écrire de requêtes SQL ou à mapper les données manuellement. Realm Kotlin est le successeur direct de la célèbre bibliothèque Realm pour Java, mais entièrement réécrit pour Kotlin, prenant en charge les coroutines, Flow et le multiplateforme (Android, iOS, macOS, JVM).

Pourquoi l'utiliser ? Avant tout, pour accélérer le développement d'applications mobiles. Realm permet de réduire considérablement le code passe-partout (boilerplate) lors de la gestion du stockage local. Il vous suffit de déclarer un modèle de données, et Realm génère automatiquement tout le nécessaire pour sauvegarder, lire, mettre à jour et supprimer des objets. Grâce à la prise en charge intégrée des flux réactifs (Flow de la bibliothèque kotlinx.coroutines), toute modification dans la base de données se reflète instantanément dans l'interface utilisateur, ce qui est idéal pour l'architecture MVVM. Realm est également réputé pour ses hautes performances : il fonctionne sur son propre moteur C++, offrant des vitesses de lecture et d'écriture proches du natif.

Principaux cas d'utilisation : mise en cache des données serveur, fonctionnement hors ligne, stockage de structures imbriquées complexes (par exemple, panier d'achat ou historique de chat), synchronisation des données entre appareils via Realm Sync (service cloud MongoDB Atlas). Realm Kotlin n'est pas "un ORM de plus", c'est un moteur de base de données complet qui change la façon de gérer l'état dans une application.

2. Installation

Realm Kotlin s'installe via le système de build Gradle. Comme la bibliothèque cible Kotlin Multiplatform, la configuration diffère légèrement des dépendances Android standard.

Important : Realm Kotlin ne s'installe pas via pip (Python) ou npm (JavaScript). C'est une bibliothèque native pour JVM/Android/iOS.

Ajoutez le code suivant dans votre fichier racine build.gradle.kts (niveau projet) :

// build.gradle.kts racine
plugins {
    id("io.realm.kotlin") version "1.16.0" apply false
}

Ensuite, dans le fichier build.gradle.kts de votre module (app ou shared) :

// build.gradle.kts du module
plugins {
    kotlin("multiplatform")
    id("io.realm.kotlin")
}

kotlin {
    // Configuration des cibles (Android, iOS, etc.)
    androidTarget()
    listOf(
        iosX64(),
        iosArm64(),
        iosSimulatorArm64()
    ).forEach {
        it.binaries.framework {
            baseName = "shared"
        }
    }

    sourceSets {
        val commonMain by getting {
            dependencies {
                implementation("io.realm.kotlin:library-base:1.16.0")
                // Pour la prise en charge des coroutines
                implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.8.0")
            }
        }
        // ... autres source sets
    }
}

Pour un projet purement Android (sans KMP), la configuration est plus simple :

// build.gradle.kts (Module :app)
plugins {
    id("com.android.application")
    kotlin("android")
    id("io.realm.kotlin")
}

android {
    // ... paramètres standard
}

dependencies {
    implementation("io.realm.kotlin:library-base:1.16.0")
}

Après la synchronisation Gradle, la bibliothèque est prête à être utilisée.

3. Démarrage rapide — exemple minimal fonctionnel

Créons un modèle de données simple "Utilisateur"

Recommendations