Appearance
📰 概要
Android开发者可能都认识Room——Google的本地数据库框架,专治SQLite写起来太麻烦的问题。
2026年5月5日,Google发布Room 3.0。这次最大升级是多平台支持:Android、iOS、Web、JVM、Linux,一个库全搞定。
简单说:以前你需要在每个平台单独写数据层代码,现在只需要写一次。
这是Google在Kotlin多平台生态的一次重要布局——Room 3.0不只是一个数据库升级,而是Google给出的跨平台数据管理答案。
🔍 解读
Room 3.0解决了什么问题?
Kotlin多平台开发(KMP)的痛点之一:没有统一的数据管理方案。
当你想做一个跨平台App:Android用Room,iOS用CoreData,Web用IndexedDB——三套完全不同的逻辑,维护成本爆炸。
Room 3.0就是来解决这个问题的:不管你的App跑在哪,数据库操作代码是一样的。
这对团队来说很重要:如果一个团队同时维护iOS和Android App,数据层逻辑统一之后,改一个功能不需要在两个平台各改一遍。
异步优先:改进了什么?
Room 3.0采用Kotlin协程优先的设计,异步API更简洁。
之前Room的异步操作依赖Callback,写起来嵌套多、不好读。现在用协程,可以像写同步代码一样写异步逻辑,可读性大幅提升。
💎 深挖
技术细节
Room 3.0的多平台支持基于Kotlin Multiplatform(KMP),核心思路是:数据库核心逻辑用Kotlin实现,平台特定的适配层负责SQLite在各个平台的绑定。
支持的平台:Android(JVM)、iOS(native)、Web(SQLite.wasm)、JVM(桌面)、Linux(服务器端)。
注意:iOS的Room实现依赖SQLite.swift,Web版本基于SQLite compiled to WebAssembly。这意味着底层的差异被封装了,上层代码保持一致。
适合谁用?
适合做跨平台App的团队——尤其是已经有Kotlin基础的Android团队。
如果你已经在用Jetpack Compose Multiplatform做UI,Room 3.0让数据层也统一了,整个技术栈一致性更高。
不太适合:只做iOS原生开发、已经深度用CoreData的团队——迁移成本高,没有明显收益。
什么情况不建议用
如果你只需要做Android单平台开发,Room 3.0对你的价值不大——功能跟之前差别不大,不需要特意升级。
如果你的团队已经用惯了Firebase/Supabase这类BaaS方案,数据存云端,Room对你来说是多余的。
