Realm Kotlin: Guia completo com exemplos para Kotlin

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

Realm Kotlin: Guia completo com exemplos para Kotlin

1. O que é e para que serve?

Realm Kotlin é um banco de dados móvel moderno, rápido e orientado a objetos, criado especialmente para o ecossistema Kotlin Multiplatform (KMP). Diferente de soluções tradicionais como SQLite ou Room, o Realm não trabalha com tabelas e linhas, mas diretamente com objetos Kotlin. Isso significa que você manipula os dados da mesma forma que classes comuns, sem precisar escrever consultas SQL ou mapear dados manualmente. O Realm Kotlin é o sucessor direto da popular biblioteca Realm para Java, mas foi totalmente reescrito do zero para Kotlin, com suporte a corrotinas, Flow e multiplataforma (Android, iOS, macOS, JVM).

Para que serve? Principalmente, para acelerar o desenvolvimento de aplicativos móveis. O Realm reduz a quantidade de código boilerplate ao trabalhar com armazenamento local. Você simplesmente declara um modelo de dados, e o Realm gera automaticamente tudo o que é necessário para salvar, ler, atualizar e excluir objetos. Graças ao suporte nativo a fluxos reativos (Flow da biblioteca kotlinx.coroutines), qualquer alteração no banco de dados é refletida instantaneamente na interface do usuário, sendo ideal para a arquitetura MVVM. O Realm também é conhecido por sua alta performance: ele roda em um motor C++ próprio, garantindo velocidade de leitura e gravação próxima à nativa.

Principais casos de uso: cache de dados do servidor, funcionamento offline, armazenamento de estruturas aninhadas complexas (como carrinho de compras ou histórico de chat) e sincronização de dados entre dispositivos via Realm Sync (serviço em nuvem MongoDB Atlas). Realm Kotlin não é apenas "mais um ORM", é um motor de banco de dados completo que muda a forma de gerenciar o estado em uma aplicação.

2. Instalação

O Realm Kotlin é instalado através do sistema de build Gradle. Como a biblioteca é voltada para Kotlin Multiplatform, a configuração é um pouco diferente das dependências Android padrão.

Importante: Realm Kotlin não é instalado via pip (Python) ou npm (JavaScript). É uma biblioteca nativa para JVM/Android/iOS.

Adicione o seguinte código ao seu arquivo raiz build.gradle.kts (nível do projeto):

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

Em seguida, no arquivo build.gradle.kts do seu módulo (app ou shared):

// build.gradle.kts do módulo
plugins {
    kotlin("multiplatform")
    id("io.realm.kotlin")
}

kotlin {
    // Configuração dos targets (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")
                // Para suporte a corrotinas
                implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.8.0")
            }
        }
        // ... outros source sets
    }
}

Para projetos Android puros (sem KMP), a configuração é mais simples:

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

android {
    // ... configurações padrão
}

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

Após sincronizar o Gradle, a biblioteca estará pronta para uso.

3. Início rápido — exemplo mínimo funcional

Vamos criar um modelo de dados simples "Usuário

Recommendations