2.2.3 SQLDelight SQLDelight(参考链接 6)由 Android 界的开源先锋 Square 开发,是我们目前调研过的最先进的 Kotlin 数据库框架。 因此 SQLDelight 是一个能满足多种开发环境,多种技术栈的数据库框架。 SQLDelight 示例代码如下图所示: 看上去 SQLDelight 完美适合我们的场景。但实际上我们对 SQLDelight 的调研非常早,那时它会在 iOS 上带来过大的 size 增长。 在近期我的调研中,在 x86 架构下 SQLDelight 带来的包 size 增长为 200 kb,比之前有所改善。 如果你准备从 0 打造一个 KMM app 或者你是某项目的基础架构团队的成员,我非常建议你尝试 SQLDelight。
此外,许多流行的库已经采用了 Kotlin Multiplatform,包括异步事件处理框架 Ktor、类型安全的 SQL API 生成器 SQLDelight、GraphQL 客户端 Apollo 和依赖注入框架
为此,我们使用 SQLDelight 及其 Android 与原生数据库驱动程序实现 Multiplatform 的持久存储。
Android 开源界的先锋 Square 团队开源了第一款用于 KMP 的数据库框架 SQLDelight(参考链接 9);也正在积极将包括 Okio 在内的自家许多 Android 库迁移至 KMP try-the-new-kotlin-native-memory-manager-development-preview/ 【10】Kotlin Roadmap https://kotlinlang.org/docs/roadmap.html 【11】SQLDelight https://cashapp.github.io/sqldelight/ 【12】workflow-kotlin https://github.com/square/workflow-kotlin
如果你曾在 Go 中使用过 sqlc,或在 Android 开发中体验过 sqldelight,那么 Wes Wickwire[29]创建的 PureSQL 将是你一直在等待的工具。