OSS探訪GitHubでログイン

Kotlin Multiplatform・Androidでobjectを端末内databaseへ保存し、queryとFlowで変更を扱う

スコアの見方

OSS規模スコアはStars・Watchers・Forks・Contributorsを対数圧縮して重み付けした現在の規模指標(上限なし)です。発掘スコアは現在のOSS規模スコアから発掘時点のOSS規模スコアを引いた値、更新ペースは直近30日Commit数、成長モメンタムは直近の観測期間におけるOSS規模スコア差、OSS健全度は取得できた更新状況・Community Health・Releaseの0〜100評価です。

Stars
1,102
主要言語
Kotlin
ライセンス
Apache-2.0
リポジトリ最終更新
2025/10/31
ページ内ナビ

概要

Realm KotlinはKotlin MultiplatformとAndroid向けのmobile database SDKです。RealmObjectをschemaとして登録し、transactionで保存、Realm Query Languageで検索し、queryやobjectの変更をKotlin Flowとして監視できます。

特徴と向いている用途

公式資料に基づく紹介・実機未検証 · 内容確認日:

主な特徴

Kotlin objectをschemaとして登録し、transactionで永続化する

RealmConfigurationへRealmObject型を登録してRealmを開き、write/writeBlocking内でobjectを保存・更新・削除できます。ORMのような別mapping layerを用意せずobject modelを中心に扱えます。

出典:[2]

query結果やobject変更をFlowとして購読する

Realm Query Languageで条件検索でき、query result、RealmObject、RealmListなどをasFlow()から監視できます。local dataの変更をcoroutineベースのUIやdomain layerへ流せます。

出典:[2]

向いている用途

offline前提のmobile dataをobject中心で扱いたい場合に向く

Android/KMPアプリでlocal databaseを使い、端末内でquery・transaction・変更通知まで一つのSDKへまとめたい場合に適します。

出典:[2]

導入前の確認

Atlas Device SyncとRealm SDKの非推奨、3.x移行方針を必ず確認する

current READMEは2024年9月のAtlas Device Sync + Realm SDK非推奨を警告しています。公開履歴上の2.3.0は2024-09-16で、mainは現在3.0.0-SNAPSHOTです。READMEはsync機能を外した3.0.0+またはcommunity branchを案内しているため、新規採用では保守方針と移行先を確認してください。

出典:[4][5]

参考にした公式資料

  1. [1]realm/realm-kotlin — GitHub repository(2026-10-06)
  2. [2]Realm Kotlin 2.3.0 — README(2026-10-06)
  3. [3]Realm Kotlin 2.3.0 — CHANGELOG(2026-10-06)
  4. [4]Realm Kotlin current README deprecation notice(2026-10-06)
  5. [5]Realm Kotlin current CHANGELOG(2026-10-06)
  6. [6]Realm Kotlin Apache-2.0 license(2026-10-06)
編集部からの補足

objectをそのままlocal databaseへ保存できる点は扱いやすい一方、上流は2024年9月にAtlas Device SyncとRealm SDKの非推奨を告知しています。新規採用ではcommunity branchや後継方針、他のlocal databaseも含めて比較してください。

3ステップで試す

  1. 1

    Realm Kotlin 2.3.0のpluginとlocal databaseを追加する

    公開版2.3.0のlocal database機能だけを試します。Atlas Device Sync/Realm SDKの非推奨状況は採用前に必ず確認してください。

    plugins { id("io.realm.kotlin") version "2.3.0" } dependencies { implementation("io.realm.kotlin:library-base:2.3.0") }
  2. 2

    保存するRealmObjectを定義する

    READMEのmodel定義に沿って、最小のschemaとなるRealmObjectを作ります。

    class Person : RealmObject { var name: String = "" }
  3. 3

    Realmを開いてobjectを保存・queryする

    端末内Realmへ1件保存し、local queryで件数を確認します。Sync機能は使用しません。

    val config = RealmConfiguration.create(schema = setOf(Person::class)) Realm.open(config).use { realm -> realm.writeBlocking { copyToRealm(Person().apply { name = "Ada" }) } println(realm.query<Person>().find().size) }
公式READMEで確認

成長

成長の推移 · 直近30日

1,102 Stars

推移データを蓄積中です。

開発アクティビティ

直近90日・週次

Commit(直近30日)
0
Open PR
19

開発アクティビティを蓄積中です。

Built with

カテゴリとタグ

GitHubデータ

GitHubのデータGitHubの詳細データを見る

GitHub Topics

  • kotlin
  • kotlin-multiplatform
  • kotlin-multiplatform-library
  • kotlin-multiplatform-mobile
  • android
  • android-library
  • database
  • nosql-database
  • realtime-database
  • kotlin-native
Stars
1,102
Forks
95
Watchers
22
Open Issues
246
Contributors
30
所有者種別
Organization
主要言語
Kotlin
ライセンス
Apache-2.0
リポジトリ最終更新
2025/10/31

このOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。

情報の誤りを報告

掲載内容に誤りや古い情報があればお知らせください。

このページを読んで、次に何をすればよいか分かりましたか?